On Wed, 2014-07-30 at 08:10 -0700, Jason Low wrote:
> On Sun, 2014-07-27 at 22:18 -0700, Davidlohr Bueso wrote:
> > - * Release the lock, slowpath:
> > + * Release the lock, slowpath.
> > + *  At this point, the lock counter is 0 or negative.
> 
> Hmm, so in the !__mutex_slowpath_needs_to_unlock() case, we could enter
> this function with the lock count == 1 right?

Yes, it is possible. So that comment should actually be moved down to:

> >   */
> >  static inline void
> >  __mutex_unlock_common_slowpath(struct mutex *lock, int nested)
> > @@ -684,9 +685,16 @@ __mutex_unlock_common_slowpath(struct mutex *lock, int 
> > nested)
> >     unsigned long flags;
> >  
> >     /*
> > -    * some architectures leave the lock unlocked in the fastpath failure
> > +    * As a performance measurement, release the lock before doing other
> > +    * wakeup related duties to follow. This allows other tasks to acquire
> > +    * the lock sooner, while still handling cleanups in past unlock calls.
> > +    * This can be done as we do not enforce strict equivalence between the
> > +    * mutex counter and wait_list.
> > +    *
> > +    *
> > +    * Some architectures leave the lock unlocked in the fastpath failure
> >      * case, others need to leave it locked. In the later case we have to
> > -    * unlock it here
> > +    * unlock it here.

... here.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to