[PATCH 0/2] ipc/sem.c: sem_lock fixes
From: Manfred Spraul
Date: Sat Oct 01 2016 - 14:53:57 EST
Hi Andrew, Hi Peter, Hi Davidlohr,
New idea for ipc/sem:
The ACQUIRE from spin_lock() will continue to apply only for the load,
not for the store.
Thus: If we don't want to add arch dependencies into ipc/sem, the only
safe option is to use spin_lock()/spin_unlock() instead of spin_unlock_wait().
Or we must stay with the current code, which is a ~9% regression.
Thus:
- Patch 1 replaces spin_unlock_wait() with spin_lock()/spin_unlock() and
removes all memory barriers that are then unnecessary.
- Patch 2 adds the hysteresis code.
What do you think?
The patches passed stress-testing.
Andrew: Could you add it into mmots? Perhaps aiming for 4.10.
--
Manfred