Date: Mon, 21 Mar 2005 14:27:25 -0800 From: Julian Elischer <julian@elischer.org> To: David Xu <davidxu@FreeBSD.org> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern kern_thread.c Message-ID: <423F4A4D.1040708@elischer.org> In-Reply-To: <423C0A0F.6090409@freebsd.org> References: <200503190822.j2J8MEcp087236@repoman.freebsd.org> <423C0A0F.6090409@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
this is a bad thing..... the previosu allocator was assuming that the TID would remain associated with the thread structure as it is moved in and out of the thread cache. This can occur up to twice in a single system call. Can we either have alloc_unr, or umw_fini fixed to allow this exepceted behaviour to continue, or have our old allocator back, which didn't require this extra restriction? Threads go in and out through the ctor() and dtor() possibly several orders of magniture more than they go through the ini() and fini() routines. (depending on usage) The original code was vary carefully put where it was for this reason. David Xu wrote: > Poul-Henning Kamp wrote: > >> phk 2005-03-19 08:22:13 UTC >> >> FreeBSD src repository >> >> Modified files: >> sys/kern kern_thread.c Log: >> Sleeping is not allowed in uma->fini >> >> Revision Changes Path >> 1.213 +4 -4 src/sys/kern/kern_thread.c >> >> >> >> > I have not tested if this change will hurt libpthread performance, > but it is obvious that benifit of uma cache will be reduced by > this change. > > David Xu
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?423F4A4D.1040708>