On Tue Jun 30, 2026 at 10:46 PM PDT, Chia-Yu Chang (Nokia) wrote: >> > - /* 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/[email protected]/ > 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.
