From: Davidlohr Bueso Date: Wed, 29 Jan 2020 18:10:41 +0000 (-0800) Subject: Bluetooth: optimize barrier usage for Rmw atomics X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=fe66483156050f4eb63c4a1988f3b439e6c9ff2a;p=linux.git Bluetooth: optimize barrier usage for Rmw atomics Use smp_mb__before_atomic() instead of smp_mb() and avoid the unnecessary barrier for non LL/SC architectures, such as x86. Signed-off-by: Davidlohr Bueso Signed-off-by: Marcel Holtmann --- diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c index bef84b95e2c47..3b4fa27a44e64 100644 --- a/net/bluetooth/hidp/core.c +++ b/net/bluetooth/hidp/core.c @@ -1279,7 +1279,7 @@ static int hidp_session_thread(void *arg) add_wait_queue(sk_sleep(session->intr_sock->sk), &intr_wait); /* This memory barrier is paired with wq_has_sleeper(). See * sock_poll_wait() for more information why this is needed. */ - smp_mb(); + smp_mb__before_atomic(); /* notify synchronous startup that we're ready */ atomic_inc(&session->state);