Re: [PATCH net v2 1/2] tcp: restore RACK list membership when undoing loss
From: Neal Cardwell
Date: Thu Oct 08 2026 - 17:48:31 EST
On Thu, Oct 8, 2026 at 5:20 PM <nramaswamy@xxxxxxxxxx> wrote:
>
> From: Neil Ramaswamy <nramaswamy@xxxxxxxxxx>
>
> Hi Neal and Eric,
>
> Thanks for the detailed replies. Neal's approach is much cheaper than my
> original patch on a few UML microbenchmarks that I ran.
>
> I'm not entirely sure I understand Eric's usage of "often" when he mentioned
> the O(1) list splice, but the metrics that I've collected from my particular
> repro seem to suggest that Neal and Yuchung's assumption about LOST but not
> EVER_RETRANS segments holds in the cases I captured, so I'd be happy with that
> approach.
Great! Thanks for checking those.
> (One super nit on the runtime complexity of it: in the comment for
> tcp_tsorted_relink_skb we say that it's O(1) amortized time, but I think it's
> more that during partial undo all relink calls together traverse the RACK list
> at most once.)
Sure, OK. :-)
> For Neal's fix, I also did write up a small packetdrill that shows that segments
> that are already retransmitted and then marked LOST are not added back to the
> RACK list during partial undo, as intended. Happy to contribute that if useful
> for explicitly documenting that this is behavior we are okay with.
Sounds great. Please include that new test as another follow-on patch.
I agree that test would be useful to document this behavior and ensure
the expected things happen (and no bad things happen) in that case.
> How would you like to move forward here? Do you want me to fold this into a v3
> patch with attribution tags or do you want to send a new patch yourself?
Please feel free to send out a v3 patch with attribution tags.
Thanks!
neal