cvs commit: src/sys/kern kern_thread.c

Julian Elischer julian at elischer.org
Mon Mar 21 14:27:27 PST 2005


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



More information about the cvs-src mailing list