Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Jun 2000 11:06:33 -0700
From:      Jason Evans <jasone@canonware.com>
To:        Luoqi Chen <luoqi@watermarkgroup.com>
Cc:        smp@FreeBSD.ORG
Subject:   Re: SMP meeting summary
Message-ID:  <20000626110633.F8965@blitz.canonware.com>
In-Reply-To: <200006261646.e5QGkUS06290@lor.watermarkgroup.com>; from luoqi@watermarkgroup.com on Mon, Jun 26, 2000 at 12:46:30PM -0400
References:  <200006261646.e5QGkUS06290@lor.watermarkgroup.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jun 26, 2000 at 12:46:30PM -0400, Luoqi Chen wrote:
> >      Compared with the use of tsleep(), mutexes have a number of
> >      advantages:
> > 
> >      - Each mutex has its own wait (sleep) queue.  When a process releases
> >        a mutex, it automatically schedules the next process waiting on the
> >        queue.  This is more efficient than searching a possibly very long,
> >        linear sleep queue.  It also avoids the flooding when multiple
> >        processes get scheduled, and most of them have to go back to sleep
> >        again.
> > 
> What about processes of different priorities blocking for the same mutex?
> Would you do a linear search on the queue? or have the queue sorted by
> priority? or a FIFO queue is good enough?

Processes that block on a mutex are granted the lock in FIFO order, rather
than priority order.  In order to avoid priority inversion, the mutex wait
queue implements priority lending.

Jason


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




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