Re: [PATCH v3 net-next 1/1] tcp: Replace min_tso_segs() with tso_segs() CC callback
From: Alexei Starovoitov <hidden>
Date: 2026-07-01 05:56:15
Also in:
bpf, linux-kselftest
On Tue Jun 30, 2026 at 10:46 PM PDT, Chia-Yu Chang (Nokia) wrote:
quoted
quoted
- /* override sysctl_tcp_min_tso_segs (optional) */ - u32 (*min_tso_segs)(struct sock *sk); + /* + * Override tcp_tso_autosize (optional) + * + * If provided, this callback returns the final TSO segment number + * and will bypass tcp_tso_autosize() entirely. The implementation + * must derive an appropriate value and ensure the result is valid. + */ + u32 (*tso_segs)(struct sock *sk, u32 mss_now);I don't like this interface change. It introduces churn for no good reason. At least I don't see why you cannot live with the existing api.Hi Alexei, This patch was part of TCP Prague preparation series: https://lore.kernel.org/all/20260611161504.228319-4-chia-yu.chang@nokia-bell-labs.com/ (local) Our original patch is to add an extra tso_segs, and after discussion it's recommended to replace exisiting min_tso_segs. This is needed because TCP Prague would set the exact TSO size rather than using autosizing from TCP. The TCP Prague itself is planned to be submitted after all preparation commits are accepted. You can find its current stauts: https://github.com/L4STeam/linux-net-next/blob/upstream_l4steam/net/ipv4/tcp_prague.c
You have to explain why Prague CC cannot rely on autosizing. To me it sounds like a red flag. autosizing logic was there for a decade, if not more. And now you're arguing that your CC logic is special and it deserves new API and breakage of existing convention. Maybe you should step back and reconsider.