Revert "vsock: Fix blocking ops call in prepare_to_wait"
authorClaudio Imbrenda <imbrenda@linux.vnet.ibm.com>
Tue, 22 Mar 2016 16:05:51 +0000 (17:05 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 22 Mar 2016 20:18:41 +0000 (16:18 -0400)
commit6f57e56a1527d58264ae126eff94fdac067744fc
treebc5604c18b8e1ea7f9e68c9d22a39d538acf3402
parent9a0384c020b055a555500906be8ac314c92f3998
Revert "vsock: Fix blocking ops call in prepare_to_wait"

This reverts commit 5988818008257ca42010d6b43a3e0e48afec9898 ("vsock: Fix
blocking ops call in prepare_to_wait")

The commit reverted with this patch caused us to potentially miss wakeups.
Since the condition is not checked between the prepare_to_wait and the
schedule(), if a wakeup happens after the condition is checked but before
the sleep happens, we will miss it. ( A description of the problem can be
found here: http://www.makelinux.net/ldd3/chp-6-sect-2 ).

By reverting the patch, the behaviour is still incorrect (since we
shouldn't sleep between the prepare_to_wait and the schedule) but at least
it will not miss wakeups.

The next patch in the series actually fixes the behaviour.

Signed-off-by: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/vmw_vsock/af_vsock.c