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 <dbueso@suse.de>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
        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);