tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Condition variable change
In article <20080527215703.GQ12056%hairylemon.org@localhost>,
Andrew Doran <ad%netbsd.org@localhost> wrote:
>Hi
>
>The below diff gives each condition variable a private sleep queue. It
>allows the system to scale more gracefully when there are 100s or 1000s of
>of active threads because much less time is spent searching sleep queues.
>With the change kcondvar_t grows from 8 to 12 bytes on 32-bit systems.
>
>I realise that we are in feature freeze, but propose this change because it
>does not alter any of the underlying principles or surrounding code, or add
>any new interfaces. It just relocates the sleep queue head.
>
>Comments?
>
>Thanks,
>Andrew
>
>http://www.netbsd.org/~ad/condvar2.diff
I'd just do it, but can you please move the NOINLINE def in cdefs.h,
and write is as:
#if __GNUC_PREREQ__(3, 0)
#define __noinline __attribute__((__noinline__))
#else
#define __noinline /* nothing */
#endif
christos
Home |
Main Index |
Thread Index |
Old Index