Page MenuHomeFreeBSD

Consider lost refactor
AbandonedPublic

Authored by rrs on Oct 10 2025, 11:52 AM.
Tags
None
Referenced Files
F135322453: D53018.diff
Sat, Nov 8, 5:44 PM
Unknown Object (File)
Fri, Nov 7, 10:02 PM
Unknown Object (File)
Fri, Nov 7, 10:01 PM
Unknown Object (File)
Fri, Nov 7, 5:05 PM
Unknown Object (File)
Sat, Oct 18, 1:13 AM
Unknown Object (File)
Fri, Oct 17, 7:44 AM
Unknown Object (File)
Fri, Oct 10, 11:52 PM
Unknown Object (File)
Fri, Oct 10, 11:35 PM
Subscribers

Details

Reviewers
tuexen
Group Reviewers
transport
Summary

The considered_lost variable is used to calculate rack's pipe. The idea
is that anytime we consider a piece of data lost we mark it and add to the
considered_lost variable, which the pipe() function uses. When a piece of
data is ack'd we need to consistently remove the lost flag and lower the count.
The code was scattered thru rack since you can become "acked" in multiple places
i.e. cum-ack movement or sack. This refactors the considered lost reduction so that
we have a common function (inlined) that reduce the considered_lost and removes the
flag as well as lowers the count.

No functional changes are intended here, just a bit of cleanup to make sure things are
consistent. This also means in a couple of places we may remove the mark before freeing
the data, which is ok.

Test Plan

Run the test suite and make sure our KASSERT does not trigger :)

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped