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.