Messages in this thread | | | Subject | Re: [RFC PATCH] mutex: Documentation rewrite | From | Davidlohr Bueso <> | Date | Wed, 21 May 2014 15:42:07 -0700 |
| |
On Wed, 2014-05-21 at 14:16 -0700, Jason Low wrote: > On Wed, 2014-05-21 at 10:41 -0700, Davidlohr Bueso wrote: > > From: Davidlohr Bueso <davidlohr@hp.com> > > > + The MCS lock (proposed by Mellor-Crummey and Scott) is a simple spinlock > > + with the desirable properties of being fair and with each cpu trying > > + to acquire the lock spinning on a local variable. It avoids expensive > > + cacheline bouncing that common test-and-set spinlock implementations > > + incur. An MCS-like lock is specially tailored for optimistic spinning > > + for sleeping lock implementation. > > Would it be helpful to also briefly mention the benefit of using the > specially tailored MCS lock? Maybe something along the lines of: an > important feature of the customized MCS lock is that it has the extra > property that spinners are able to exit the MCS spinlock queue when they > needs to reschedule. This further helps avoid situations where MCS > spinners that need to reschedule would continue waiting to spin on mutex > owner, only to go directly to slowpath upon obtaining the MCS lock.
Good idea, will add it. I didn't want to go into too much details about MCS locks but it is worth mentioning the cancelable properties we now have in the kernel.
Thanks, Davidlohr
| |