]> 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)
commit54a874cf32f42e0bf4827b5d83959e5a517b8268
tree10212199f865860e38d09e35d9aa853f9f8dc43c
parent9e9b5ac9f7d8ca7e7b1b8ebd8cea29bbbe5718f1
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