[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADVnQyna=PzFHCrJjfUsiwBn8gYg6oFxPyHhcv4UAzaCgbobsQ@mail.gmail.com>
Date: Tue, 18 Feb 2025 09:14:43 -0500
From: Neal Cardwell <ncardwell@...gle.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: edumazet@...gle.com, netdev@...r.kernel.org, davem@...emloft.net,
pabeni@...hat.com, andrew+netdev@...n.ch, horms@...nel.org, kuniyu@...zon.com,
hli@...flix.com, quic_stranche@...cinc.com, quic_subashab@...cinc.com
Subject: Re: [PATCH net] tcp: adjust rcvq_space after updating scaling ratio
On Mon, Feb 17, 2025 at 6:29 PM Jakub Kicinski <kuba@...nel.org> wrote:
>
> Since commit under Fixes we set the window clamp in accordance
> to newly measured rcvbuf scaling_ratio. If the scaling_ratio
> decreased significantly we may put ourselves in a situation
> where windows become smaller than rcvq_space, preventing
> tcp_rcv_space_adjust() from increasing rcvbuf.
>
> The significant decrease of scaling_ratio is far more likely
> since commit 697a6c8cec03 ("tcp: increase the default TCP scaling ratio"),
> which increased the "default" scaling ratio from ~30% to 50%.
>
> Hitting the bad condition depends a lot on TCP tuning, and
> drivers at play. One of Meta's workloads hits it reliably
> under following conditions:
> - default rcvbuf of 125k
> - sender MTU 1500, receiver MTU 5000
> - driver settles on scaling_ratio of 78 for the config above.
> Initial rcvq_space gets calculated as TCP_INIT_CWND * tp->advmss
> (10 * 5k = 50k). Once we find out the true scaling ratio and
> MSS we clamp the windows to 38k. Triggering the condition also
> depends on the message sequence of this workload. I can't repro
> the problem with simple iperf or TCP_RR-style tests.
>
> Fixes: a2cbb1603943 ("tcp: Update window clamping condition")
> Signed-off-by: Jakub Kicinski <kuba@...nel.org>
Reviewed-by: Neal Cardwell <ncardwell@...gle.com>
Thanks, Jakub!
neal
Powered by blists - more mailing lists