]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit7d2b31068b2cb1d3763361371f661f1fb4764315
treea4635a632732b39ef560a8f72eb3a81d04f01605
parent1657cb9fe32aa2b2ffc48c1dbdbc6520a6dcd2de
tcp: Revert "tcp: remove header prediction"

This reverts commit 04cfe9930b6f0b6a5bbbc6043df4413f89ddfc4a.

Eric Dumazet says:
  We found at Google a significant regression caused by
  04cfe9930b6f0b6a5bbbc6043df4413f89ddfc4a 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