Re: [PATCH net-next,v3] tcp: Set pingpong threshold via sysctl

From: Neal Cardwell
Date: Mon Oct 16 2023 - 12:19:14 EST


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