Page MenuHomeFreeBSD

Bind TCP HPTS (pacer) threads to NUMA domains
ClosedPublic

Authored by gallatin on May 1 2019, 11:09 PM.
Tags
None
Referenced Files
F81998813: D20134.id57262.diff
Wed, Apr 24, 8:33 AM
F81998811: D20134.id.diff
Wed, Apr 24, 8:33 AM
F81998808: D20134.id56937.diff
Wed, Apr 24, 8:33 AM
F81998309: D20134.diff
Wed, Apr 24, 8:20 AM
Unknown Object (File)
Tue, Apr 23, 11:36 AM
Unknown Object (File)
Feb 19 2024, 10:38 AM
Unknown Object (File)
Jan 31 2024, 7:09 AM
Unknown Object (File)
Jan 22 2024, 7:54 PM
Subscribers

Details

Summary

Bind the TCP pacer threads to NUMA domains and build per-domain pacer-thread lookup tables. These tables allow us to use the inpcb's NUMA domain information to match an inpcb with a pacer thread on the same domain.

The motivation for this is to keep the TCP connection local to a NUMA domain as much as possible. This depends on on-going work to keep the pacer running on the same domain as the egress NIC when using LACP with NICs spread across NUMA domains (D20060). This will also help with several locality issues once an as-yet unpublished patch to make UMA-cross domain free inexpensive from Jeff arrives in the tree. That patch will allow inpcb, sockets, etc, to be numa-local.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 24050