Hi, I'm resending Sebastian's sysv msg queue use of wake_qs but updated to the last observations I need wrt the need of explicit barriers after removing the whole receiver busy-looping. After some irc exchange it seems we're both on the same page, and things now look like he had them earlier, in v2. This is all patch 1.
The rest of the patches are changes I noticed while reviewing patch 1, which are mainly sender-side rework/optimizations. Details are in each changelog. The changes have survived ltp (which has some nasty corner cases for msgsnd changes), as well as pmsg-shared benchmark. Applies on Linus's latest - please consider for v4.9. Thanks! ipc/msg: Implement lockless pipelined wakeups ipc/msg: Batch queue sender wakeups ipc/msg: Make ss_wakeup() kill arg boolean ipc/msg: Lockless security checks for msgsnd ipc/msg: Avoid waking sender upon full queue ipc/msg.c | 210 ++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 101 insertions(+), 109 deletions(-) -- 2.6.6