Skip site navigation (1)Skip section navigation (2)
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>