Page MenuHomeFreeBSD

tcp: Enable the extra TCP stacks per default
AbandonedPublic

Authored by gbe on Sep 12 2022, 3:17 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, May 9, 1:22 PM
Unknown Object (File)
Jan 12 2024, 2:58 PM
Unknown Object (File)
Dec 20 2023, 5:18 AM
Unknown Object (File)
Nov 6 2023, 10:05 AM
Unknown Object (File)
Nov 4 2023, 10:07 PM
Unknown Object (File)
Oct 31 2023, 4:54 PM
Unknown Object (File)
Oct 27 2023, 10:14 AM
Unknown Object (File)
Oct 5 2023, 9:03 AM

Details

Reviewers
rrs
manu
gallatin
andrew
Group Reviewers
transport
Summary

In 2016 it was decided to not enable the extra TCP stacks
per default. In the last couple of years the extra TCP
stacks are becoming more and more stable so it's time
to build them per default.

  • Remove the build knob WITH_EXTRA_TCP_STACKS
  • Clean up the Makefiles
  • Include TCPHTPS for amd64 and arm64
  • Remove RATELIMIT from the default_no_options
  • Document it in the tcp_bbr(4) manual page

MFC after: 1 month

Test Plan

buildworld and buildkernel

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 47339
Build 44226: arc lint + arc unit

Event Timeline

gbe requested review of this revision.Sep 12 2022, 3:17 PM
gallatin requested changes to this revision.Jan 3 2023, 7:11 PM
gallatin added a subscriber: gallatin.

You currently also need RATELIMIT if you want to actually use the stacks. I've submitted a patch privately to @rrs which removes this requirement.

Before HPTS is enabed in GENERIC, I think we need to make it so that HPTS sleep forever if no stacks are loaded that require it. As it is, it will wake up every 500ms on each core and likely chew up battery life for laptop users.

This revision now requires changes to proceed.Jan 3 2023, 7:11 PM

You currently also need RATELIMIT if you want to actually use the stacks. I've submitted a patch privately to @rrs which removes this requirement.

Before HPTS is enabed in GENERIC, I think we need to make it so that HPTS sleep forever if no stacks are loaded that require it. As it is, it will wake up every 500ms on each core and likely chew up battery life for laptop users.

Thanks for the comment. This patch is based simply on personal assumptions. I just enabled BBR on my virtualized environment a few years ago and saw an improvement from 5-6 to 10 GBit`s via iperf3 benchmark without any tweaks.

According on your concerns, you are right, such things you be documented and I will do it in the respective manual pages in a couple of days. But in general I would think that including the additional TCP stacks in releases would be a good thing.

Already enabled as of today.