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
Unknown Object (File)
Mon, Dec 2, 9:37 AM
Unknown Object (File)
Mon, Dec 2, 9:37 AM
Unknown Object (File)
Mon, Dec 2, 9:36 AM
Unknown Object (File)
Mon, Dec 2, 9:16 AM
Unknown Object (File)
Nov 20 2024, 6:26 PM
Unknown Object (File)
Nov 14 2024, 3:28 AM
Unknown Object (File)
Oct 27 2024, 9:44 PM
Unknown Object (File)
Oct 27 2024, 7:46 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 Not Applicable
Unit
Tests Not Applicable