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

From: Davidlohr Bueso
Date: Mon May 23 2016 - 17:31:35 EST


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)

In anycase, if there were a fastpath, that would at least have an
ACQUIRE barrier (unless you set ->owner it before it or something
weird). But this isn't the case, so debug should be safe afaict.

Thanks,
Davidlohr