cvs commit: src/sys/kern kern_mutex.c

John Baldwin jhb at freebsd.org
Fri Apr 14 20:15:38 UTC 2006


On Friday 14 April 2006 15:51, John Baldwin wrote:
> jhb         2006-04-14 19:51:50 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/kern             kern_mutex.c 
>   Log:
>   Mark the thread pointer used during an adaptive spin volatile so that the
>   compiler doesn't decide to cache td_state.  Cachine the state would cause
>   the spinning thread to not notice when the owning thread stopped executing
>   (if it was preempted for example) which could result in livelock.

FYI, I've only seen this happen in a local branch, I haven't seen this
happen with any CVS kernels.

-- 
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