]> git.baikalelectronics.ru Git - kernel.git/commit
tcp: remove prequeue support
authorFlorian Westphal <fw@strlen.de>
Sun, 30 Jul 2017 01:57:18 +0000 (03:57 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 31 Jul 2017 21:37:49 +0000 (14:37 -0700)
commitbf2d97ff3e4f109fa83350eb0c6c1d8626e5640f
tree27dddb46a5358137f6cb6e63bddab14a77a840ec
parent8c3cc14453c079000fdfcfc283c8e34f4ba580ed
tcp: remove prequeue support

prequeue is a tcp receive optimization that moves part of rx processing
from bh to process context.

This only works if the socket being processed belongs to a process that
is blocked in recv on that socket.

In practice, this doesn't happen anymore that often because nowadays
servers tend to use an event driven (epoll) model.

Even normal client applications (web browsers) commonly use many tcp
connections in parallel.

This has measureable impact only in netperf (which uses plain recv and
thus allows prequeue use) from host to locally running vm (~4%), however,
there were no changes when using netperf between two physical hosts with
ixgbe interfaces.

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/tcp.h
include/net/tcp.h
net/ipv4/tcp.c
net/ipv4/tcp_input.c
net/ipv4/tcp_ipv4.c
net/ipv4/tcp_minisocks.c
net/ipv4/tcp_timer.c
net/ipv6/tcp_ipv6.c