tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Condition variable change



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


Home | Main Index | Thread Index | Old Index