Commit 99009806 authored by Allan Stephens's avatar Allan Stephens Committed by David S. Miller

[TIPC]: Skip connection flow control in connectionless sockets

This patch optimizes the receive path for SOCK_DGRAM and SOCK_RDM
messages by skipping over code that handles connection-based flow
control.
Signed-off-by: default avatarAllan Stephens <allan.stephens@windriver.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2c8dd116
...@@ -919,7 +919,8 @@ static int recv_msg(struct kiocb *iocb, struct socket *sock, ...@@ -919,7 +919,8 @@ static int recv_msg(struct kiocb *iocb, struct socket *sock,
/* Consume received message (optional) */ /* Consume received message (optional) */
if (likely(!(flags & MSG_PEEK))) { if (likely(!(flags & MSG_PEEK))) {
if (unlikely(++tsock->p->conn_unacked >= TIPC_FLOW_CONTROL_WIN)) if ((sock->state != SS_READY) &&
(++tsock->p->conn_unacked >= TIPC_FLOW_CONTROL_WIN))
tipc_acknowledge(tsock->p->ref, tsock->p->conn_unacked); tipc_acknowledge(tsock->p->ref, tsock->p->conn_unacked);
advance_queue(tsock); advance_queue(tsock);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment