tipc: avoid to unnecessary process switch under non-block mode
authorYing Xue <ying.xue@windriver.com>
Thu, 6 Mar 2014 13:40:18 +0000 (14:40 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 6 Mar 2014 19:46:23 +0000 (14:46 -0500)
commitfe8e4649397915cf3b2ab0b695929a27e543967e
tree383c648ffdef61232e623f723f17247dcb860faf
parent4652edb70e8a7eebbe47fa931940f65522c36e8f
tipc: avoid to unnecessary process switch under non-block mode

When messages are received via tipc socket under non-block mode,
schedule_timeout() is called in tipc_wait_for_rcvmsg(), that is,
the process of receiving messages will be scheduled once although
timeout value passed to schedule_timeout() is 0. The same issue
exists in accept()/wait_for_accept(). To avoid this unnecessary
process switch, we only call schedule_timeout() if the timeout
value is non-zero.

Signed-off-by: Ying Xue <ying.xue@windriver.com>
Reviewed-by: Erik Hugne <erik.hugne@ericsson.com>
Reviewed-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/socket.c