cvs commit: src/sys/conf options src/sys/kern kern_mutex.c
Jeff Roberson
jroberson at chesapeake.net
Tue Apr 6 20:43:18 PDT 2004
On Tue, 6 Apr 2004, John Baldwin wrote:
> jhb 2004/04/06 12:12:25 PDT
>
> FreeBSD src repository
>
> Modified files:
> sys/conf options
> sys/kern kern_mutex.c
> Log:
> Add a new kernel option MUTEX_WAKE_ALL that changes the mutex unlock code
> to awaken all waiters when a contested mutex is released instead of just
> the highest priority waiter. If the various threads are awakened in
> sequence then each thread may acquire and release the lock in question
> without contention resulting in fewer expensive unlock and lock
> operations. This old behavior of waking just the highest priority is
> still used if this option is specified. Making the algorithm conditional
> on a kernel option will allows us to benchmark both cases later and
> determine which one should be used by default.
This seems like an optimization on UP and a pessimization on SMP. Perhaps
you should make it conditional on mp_ncpus?
>
> Requested by: tanimura-san
>
> Revision Changes Path
> 1.439 +1 -0 src/sys/conf/options
> 1.138 +10 -0 src/sys/kern/kern_mutex.c
>
More information about the cvs-src
mailing list