HomeFreeBSD

tcp rack: cleanup storing values for beta and beta_ecn

Description

tcp rack: cleanup storing values for beta and beta_ecn

beta and beta_ecn were stored using a variable of type struct newreno
in struct rack_control. Later, struct newreno was extended and now
contains several more fields.
This results in a memory inefficiency and also in copying around
uninitialized memory.
This patch fixes this by storing beta and beta_ecn individually in
struct rack_control.
Please note that the newreno_flags field was only stored and never
used. Therefore, this is not stored anymore in struct rack_control.
No functional change intended.

CID: 1523796
Reviewed by: rrs
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D49578

(cherry picked from commit f6deb9ea0a0ee760e5ff9ad5c15d0bd7a1714355)

Details

Provenance
tuexenAuthored on Mar 31 2025, 1:40 AM
Reviewer
rrs
Differential Revision
D49578: tcp rack: cleanup storing values for beta and beta_ecn
Parents
rG482647102642: queue(3): Add simple tests for some macros for all list/tailq types
Branches
Unknown
Tags
Unknown