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

From: Stephen Hemminger
Date: Tue Oct 10 2023 - 18:14:13 EST


On Tue, 10 Oct 2023 12:23:30 -0700
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>

If this an application specific optimization, it should be in a socket option
rather than system wide via sysctl.