On Thu, Jun 08, 2017 at 08:25:46PM -0700, Krister Johansen wrote: > The behavior of swake_up() differs from that of wake_up(), and from the > swake_up() that came from RT linux. A memory barrier, or some other > synchronization, is needed prior to a swake_up so that the waiter sees > the condition set by the waker, and so that the waker does not see an > empty wait list.
Urgh.. let me stare at that. But it sounds like the wrong solution since we wanted to keep the wait and swait APIs as close as possible.

