lkml.org 
[lkml]   [2023]   [Oct]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH net-next,v2] tcp: Set pingpong threshold via sysctl
Date


> -----Original Message-----
> From: Yuchung Cheng <ycheng@google.com>
> Sent: Tuesday, October 10, 2023 6:27 PM
> To: Stephen Hemminger <stephen@networkplumber.org>
> Cc: Haiyang Zhang <haiyangz@microsoft.com>; linux-hyperv@vger.kernel.org;
> netdev@vger.kernel.org; KY Srinivasan <kys@microsoft.com>;
> davem@davemloft.net; edumazet@google.com; kuba@kernel.org;
> pabeni@redhat.com; corbet@lwn.net; dsahern@kernel.org;
> ncardwell@google.com; kuniyu@amazon.com; morleyd@google.com;
> mfreemon@cloudflare.com; mubashirq@google.com; linux-
> doc@vger.kernel.org; weiwan@google.com; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH net-next,v2] tcp: Set pingpong threshold via sysctl
>
> On Tue, Oct 10, 2023 at 3:14 PM Stephen Hemminger
> <stephen@networkplumber.org> wrote:
> >
> > On Tue, 10 Oct 2023 12:23:30 -0700
> > Haiyang Zhang <haiyangz@microsoft.com> 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@microsoft.com>
> >
> > If this an application specific optimization, it should be in a socket option
> > rather than system wide via sysctl.
> Initially I had a similar comment but later decided a sysctl could
> still be useful if
> 1) the entire host (e.g. virtual machine) is dedicated to that application
> 2) that application is difficult to change

Yes, the customer actually wants a global setting. But as suggested by Neal,
I changed it to be per-namespace to match other TCP tunables.

Thanks,
- Haiyang

\
 
 \ /
  Last update: 2023-10-11 01:00    [W:1.080 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site