cvs commit: src/sys/kern subr_turnstile.c

John Baldwin jhb at FreeBSD.org
Wed Nov 12 15:52:15 PST 2003


On 12-Nov-2003 John Baldwin wrote:
> jhb         2003/11/12 15:48:42 PST
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/kern             subr_turnstile.c 
>   Log:
>   - Close a race where a thread on another CPU could release a contested lock
>     and empty its turnstile while the blocking threads still pointed to the
>     turnstile.  If the thread on the first CPU blocked on a lock owned by
>     one of the threads blocked on the turnstile just woken up, then the
>     first CPU could try to manipulate a bogus thread queue in the turnstile
>     during priority propagation.
>   - Update locking notes for ts_owner and always clear ts_owner, not just
>     under INVARIANTS.
>   
>   Tested by:      sam (1)

This might fix the SMP problems on current.  Please let me know if
there are any other turnstile/mutex/priority_propagation related
panics.

-- 

John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


More information about the cvs-src mailing list