tcp: Revert "tcp: remove header prediction"
authorFlorian Westphal <fw@strlen.de>
Wed, 30 Aug 2017 17:24:58 +0000 (19:24 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 30 Aug 2017 18:20:09 +0000 (11:20 -0700)
commit31770e34e43d6c8dee129bfee77e56c34e61f0e5
treea4635a632732b39ef560a8f72eb3a81d04f01605
parentc1d2b4c3e204e602c97680335d082b8d012d08cd
tcp: Revert "tcp: remove header prediction"

This reverts commit 45f119bf936b1f9f546a0b139c5b56f9bb2bdc78.

Eric Dumazet says:
  We found at Google a significant regression caused by
  45f119bf936b1f9f546a0b139c5b56f9bb2bdc78 tcp: remove header prediction

  In typical RPC  (TCP_RR), when a TCP socket receives data, we now call
  tcp_ack() while we used to not call it.

  This touches enough cache lines to cause a slowdown.

so problem does not seem to be HP removal itself but the tcp_ack()
call.  Therefore, it might be possible to remove HP after all, provided
one finds a way to elide tcp_ack for most cases.

Reported-by: Eric Dumazet <edumazet@google.com>
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
include/uapi/linux/snmp.h
net/ipv4/proc.c
net/ipv4/tcp.c
net/ipv4/tcp_input.c
net/ipv4/tcp_minisocks.c
net/ipv4/tcp_output.c