On Wed, Oct 11, 2023 at 4:31 PM Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> wrote: > > TCP pingpong threshold is 1 by default. But some applications, like SQL DB > may prefer a higher pingpong threshold to activate delayed acks in quick > ack mode for better performance. > > The pingpong threshold and related code were changed to 3 in the year > 2019 in: > commit 4a41f453bedf ("tcp: change pingpong threshold to 3") > And reverted to 1 in the year 2022 in: > commit 4d8f24eeedc5 ("Revert "tcp: change pingpong threshold to 3"") > > There is no single value that fits all applications. > Add net.ipv4.tcp_pingpong_thresh sysctl tunable, so it can be tuned for > optimal performance based on the application needs. > > Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> > --- > v3: Updated doc as suggested by Neal Cardwell. > Updated variable location in struct netns_ipv4 as suggested by Kuniyuki > Iwashima. > > v2: Make it per-namesapce setting, and other updates suggested by Neal Cardwell, > and Kuniyuki Iwashima. > --- > Documentation/networking/ip-sysctl.rst | 13 +++++++++++++ > include/net/inet_connection_sock.h | 16 ++++++++++++---- > include/net/netns/ipv4.h | 2 ++ > net/ipv4/sysctl_net_ipv4.c | 8 ++++++++ > net/ipv4/tcp_ipv4.c | 2 ++ > net/ipv4/tcp_output.c | 4 ++-- > 6 files changed, 39 insertions(+), 6 deletions(-) Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Thanks! neal