]> git.baikalelectronics.ru Git - kernel.git/commit
net: do not block BH while processing socket backlog
authorEric Dumazet <edumazet@google.com>
Fri, 29 Apr 2016 21:16:52 +0000 (14:16 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 2 May 2016 21:02:26 +0000 (17:02 -0400)
commite90f0e597ccc4c286a5b41abd3b2da5abac21c39
tree10212199f865860e38d09e35d9aa853f9f8dc43c
parentd9c949f4bdd3e0d66a2dc3788256b1c29c22b10e
net: do not block BH while processing socket backlog

Socket backlog processing is a major latency source.

With current TCP socket sk_rcvbuf limits, I have sampled __release_sock()
holding cpu for more than 5 ms, and packets being dropped by the NIC
once ring buffer is filled.

All users are now ready to be called from process context,
we can unblock BH and let interrupts be serviced faster.

cond_resched_softirq() could be removed, as it has no more user.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/sock.c