From: Guillaume Nault <gnault@redhat.com>
To: Neal Cardwell <ncardwell.sw@gmail.com>
Cc: Tom.D.Williams@morganstanley.com, davem@davemloft.net,
edumazet@kernel.org, horms@kernel.org, kuba@kernel.org,
kuniyu@google.com, ncardwell@google.com, netdev@vger.kernel.org,
pabeni@redhat.com, ycheng@google.com
Subject: Re: [PATCH net] tcp: Fix dup-ack detection on non-SACK bidirectional data transfer.
Date: Wed, 28 Oct 2026 22:29:31 +0100 [thread overview]
Message-ID: <auJpO3m_rmyToV0w@debian> (raw)
In-Reply-To: <20261023161013.3079347-1-ncardwell.sw@gmail.com>
On Fri, Oct 23, 2026 at 09:10:13AM -0700, Neal Cardwell wrote:
> From: Neal Cardwell <ncardwell@google.com>
>
> I asked two different frontier LLMs to take a look at this thread, and they
> both pointed out an intertwined issue we haven't noted yet, which is that when
> an ACK advances tp->snd_una by less than 1 whole segment of the head skb in the
> retransmit queue, tcp_clean_rtx_queue() breaks out early without setting
> FLAG_ACKED. Previously, such a pure ACK relied on FLAG_WIN_UPDATE being set in
> order to have FLAG_NOT_DUP set and avoid being treated as dubious by
> tcp_ack_is_dubious() in TCP_CA_Open, and thus avoid calling
> tcp_fastretrans_alert(). If we fix the FLAG_WIN_UPDATE code in this way, then
> FLAG_WIN_UPDATE does not get set on sub-MSS ACKs, and such cases will make
> tcp_ack_is_dubious() true and we'll call tcp_fastretrans_alert(). AFAICT
> nothing serious should happen, since FLAG_SND_UNA_ADVANCED should be true and
> so num_dupack should be 0 and nothing should happen to the connection state,
> and nothing spurious should be sent. But it's performance overhead, and a
> confusing dynamic that might lead to bugs down the road.
>
> Below is a proposed patch, cooked by a frontier LLM and lightly edited by me,
> that should factor in all these considerations. This is compiled but not yet
> tested. I will kick off some tests for it.
>
Thanks, I've integrated this in v2.
prev parent reply other threads:[~2026-10-28 21:29 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-22 8:49 [PATCH net] tcp: Fix dup-ack detection on non-SACK bidirectional data transfer Guillaume Nault
2026-10-22 9:46 ` Eric Dumazet
2026-10-23 11:53 ` Guillaume Nault
2026-10-23 16:17 ` Neal Cardwell
2026-10-23 16:10 ` Neal Cardwell
2026-10-23 17:04 ` Neal Cardwell
2026-10-23 20:31 ` Neal Cardwell
2026-10-28 21:40 ` Guillaume Nault
2026-10-28 21:29 ` Guillaume Nault [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=auJpO3m_rmyToV0w@debian \
--to=gnault@redhat.com \
--cc=Tom.D.Williams@morganstanley.com \
--cc=davem@davemloft.net \
--cc=edumazet@kernel.org \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=kuniyu@google.com \
--cc=ncardwell.sw@gmail.com \
--cc=ncardwell@google.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=ycheng@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.