Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Apr 2004 23:41:15 -0400 (EDT)
From:      Jeff Roberson <jroberson@chesapeake.net>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/conf options src/sys/kern kern_mutex.c
Message-ID:  <20040406234035.U72393@mail.chesapeake.net>
In-Reply-To: <200404061912.i36JCP1m036228@repoman.freebsd.org>
References:  <200404061912.i36JCP1m036228@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040406234035.U72393>