[PATCH -v4 0/7] spin_unlock_wait borkage and assorted bits

From: Peter Zijlstra
Date: Thu Jun 02 2016 - 07:58:16 EST


Similar to -v3 in that it rewrites spin_unlock_wait() for all.

The new spin_unlock_wait() provides ACQUIRE semantics to match the RELEASE of
the spin_unlock() we waited for and thereby ensure we can fully observe its
critical section.

This fixes a number (pretty much all) spin_unlock_wait() users.

This series pulls in the smp_cond_acquire() rewrite because it introduces a lot
of new users of it. All simple spin_unlock_wait() implementations end up being
one.

New in this series is the removal of cmpwait() and a reorder of patches.

I'm planning on queuing these patches for 4.8.