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)
commite7942d0633c47c791ece6afa038be9cf977226de
tree27dddb46a5358137f6cb6e63bddab14a77a840ec
parent764646b08d09d29adced740c26447ecdaabc9088
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