On Mon, 19 Mar 2007, Joerg Sonnenberger wrote:

On Mon, Mar 19, 2007 at 02:04:58PM -0400, Daniel Eischen wrote:
No, especially if the threads hold other locks.
I have no idea why POSIX added spinlocks.  I don't
see why anyone would want to use them.

Given that it is part of the realtime extensions, it makes sense. On
those systems you generally also have policies for scheduler control
like CPU affinity, which can make the starvation impossible.

PTHREAD_PRIO_PROTECT and PTHREAD_PRIO_INHERIT

POSIX doesn't seem to have specified APIs for
scheduler affinity and has said that the behavior
of threads in scheduling domains > 1 is implementation
defined.  So it is somewhat surprising to me that
spinlocks were added.

It also assumes that the implementation of non-spin mutexes
is inefficient which is not necessarily the case.  It is
certainly possible for the implementation to use adaptive
mutexes which spin for a bit before sleeping.

--
DE
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to