]> 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)
commit4a9726f2f434108a4bb3accf97009ed0f74929f9
treea4635a632732b39ef560a8f72eb3a81d04f01605
parentedaecb79ceac177a8d1c21b488210321905c5d03
tcp: Revert "tcp: remove header prediction"

This reverts commit 0647a6b491accd5459e63df50c5ebf6ea68c7b41.

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