Re: [PATCH] locking/mutex: Set and clear owner using WRITE_ONCE()

From: Jason Low
Date: Mon May 23 2016 - 17:51:01 EST


On Mon, 2016-05-23 at 14:31 -0700, Davidlohr Bueso wrote:
> On Mon, 23 May 2016, Jason Low wrote:
>
> >On Fri, 2016-05-20 at 18:00 -0700, Davidlohr Bueso wrote:
> >> On Fri, 20 May 2016, Waiman Long wrote:
> >>
> >> >I think mutex-debug.h also needs similar changes for completeness.
> >>
> >> Maybe, but given that with debug the wait_lock is unavoidable, doesn't
> >> this send the wrong message?
> >
> >The mutex_set_owner() and mutex_clear_owner() can still get called in
> >the fastpath without the wait_lock for the debug case too correct?
>
> The fastpath is a nop, see mutex-null:
>
> #define __mutex_fastpath_lock(count, fail_fn) fail_fn(count)

Oh right, so then the mutex_set_owner() call in mutex_lock() doesn't
really matter. I'll update the patch to remove the use of WRITE_ONCE for
the debug case then, and add the comments about why it is different as
suggested.

Thanks,
Jason