Page MenuHomeFreeBSD

Update rack to the latest code used at NF.
ClosedPublic

Authored by rrs on Apr 4 2023, 1:04 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Apr 19, 8:41 PM
Unknown Object (File)
Wed, Apr 17, 2:41 PM
Unknown Object (File)
Mon, Apr 8, 3:05 PM
Unknown Object (File)
Sun, Mar 31, 6:44 AM
Unknown Object (File)
Mar 17 2024, 9:40 AM
Unknown Object (File)
Mar 15 2024, 11:34 AM
Unknown Object (File)
Mar 3 2024, 10:59 PM
Unknown Object (File)
Mar 2 2024, 6:35 AM
Subscribers

Details

Summary

There have been many changes to rack over the last couple of years, including:

a) Ability when switching stacks to have one stack query another.
b) Internal use of micro-second timers instead of ticks.
c) Many changes to pacing in forms of
   1) Improvements to Dynamic Goodput Pacing (DGP)
   2) Improvements to fixed rate paciing
   3) A new feature called hybrid pacing where the requestor can
      get a combination of DGP and fixed rate pacing with deadlines
      for delivery that can dynamically speed things up.
d) All kinds of bugs found during extensive testing and use of the
   rack stack for streaming video and in fact all data transferred
   by NF
Test Plan

Use the stack on various loads to make sure we still transfer properly, turn on BB logging and pull out key logs as well.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

rrs requested review of this revision.Apr 4 2023, 1:04 PM

Opps missed one sysctl change that has to be in.

gallatin added inline comments.
sys/netinet/tcp_stacks/tailq_hash.c
81

Are all these includes really needed?

This revision is now accepted and ready to land.Apr 4 2023, 6:01 PM

Fix rack_init() bug Gleb found, We need to look at *ptr not ptr in our null check

This revision now requires review to proceed.Apr 4 2023, 7:42 PM

Fix another niggle from Gleb, after we seen *ptr == NULL we don't need to set
*ptr to NULL.

This revision is now accepted and ready to land.Apr 5 2023, 2:29 PM