[PATCH 0/5] ipc/msg: Sender/receiver optimizations

From: Davidlohr Bueso
Date: Thu Jul 28 2016 - 19:35:24 EST


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