lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL+tcoB5T2h+9zk4+c9UFJT3fttD=Wt6cXWj=9MyONhQxLNPEA@mail.gmail.com>
Date: Thu, 16 Jan 2025 09:18:49 +0800
From: Jason Xing <kerneljasonxing@...il.com>
To: Mahdi Arghavani <ma.arghavani@...oo.com>
Cc: netdev@...r.kernel.org, ncardwell@...gle.com, edumazet@...gle.com, 
	haibo.zhang@...go.ac.nz, david.eyers@...go.ac.nz, abbas.arghavani@....se
Subject: Re: [PATCH net v2] tcp_cubic: fix incorrect HyStart round start detection

On Wed, Jan 15, 2025 at 9:26 AM Mahdi Arghavani <ma.arghavani@...oo.com> wrote:
>
> I noticed that HyStart incorrectly marks the start of rounds,
> resulting in inaccurate measurements of ACK train lengths.
> Since HyStart relies on ACK train lengths as one of two thresholds
> to terminate exponential cwnd growth during Slow-Start, this
> inaccuracy renders that threshold ineffective, potentially degrading
> TCP performance.
>
> The issue arises because the changes introduced in commit 4e1fddc98d25
> ("tcp_cubic: fix spurious Hystart ACK train detections for not-cwnd-limited flows")
> moved the caller of the `bictcp_hystart_reset` function inside the `hystart_update` function.
> This modification added an additional condition for triggering the caller,
> requiring that (tcp_snd_cwnd(tp) >= hystart_low_window) must also
> be satisfied before invoking `bictcp_hystart_reset`.
>
> This fix ensures that `bictcp_hystart_reset` is correctly called
> at the start of a new round, regardless of the congestion window size.
> This is achieved by moving the condition
> (tcp_snd_cwnd(tp) >= hystart_low_window)
> from before calling `bictcp_hystart_reset` to after it.
>
> Fixes: 4e1fddc98d25 ("tcp_cubic: fix spurious Hystart ACK train detections for not-cwnd-limited flows")
> Signed-off-by: Mahdi Arghavani <ma.arghavani@...oo.com>
> Cc: Neal Cardwell <ncardwell@...gle.com>
> Cc: Eric Dumazet <edumazet@...gle.com>
> Cc: Haibo Zhang <haibo.zhang@...go.ac.nz>
> Cc: David Eyers <david.eyers@...go.ac.nz>
> Cc: Abbas Arghavani <abbas.arghavani@....se>

According to your original thread [1], I can verify the same
result/output by either applying your diff patch or reverting that
8165a96f6b712 commit. But may I ask how it affects the latency or the
final throughput when you conduct some tests?

I still need some time to dig in it more carefully.

[1]: https://lore.kernel.org/all/2046438615.4484034.1736328888690@mail.yahoo.com/

Thanks,
Jason

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ