Re: [PATCH v4] ipc/msg: Implement lockless pipelined wakeups

From: Sebastian Andrzej Siewior
Date: Thu Jul 21 2016 - 06:24:05 EST


* Davidlohr Bueso | 2016-07-20 17:16:12 [-0700]:

>Just as with expunge_all and the E2BIG case, could you remove that explicit
>barrier (B) and just rely on wake_q_add?

Just did. So we have just a smp_rmb() on the reader side and the
comment talks about smb_wmb() and at the spot where we should have the
smb_wmb we have a comment why we don't have one :)
For my understanding: we need that smp_rmb() to ensure that everything
past that cmpxchg() is visible on all other CPUs so we don't have the
wakeup before we r_msg reads != -EAGAIN, right?

>Thanks,
>Davidlohr

Sebastian