Page MenuHomeFreeBSD

Bind TCP HPTS (pacer) threads to NUMA domains
ClosedPublic

Authored by gallatin on May 1 2019, 11:09 PM.

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
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

gallatin created this revision.May 1 2019, 11:09 PM
rrs accepted this revision.May 9 2019, 4:50 PM
This revision is now accepted and ready to land.May 9 2019, 4:50 PM
This revision was automatically updated to reflect the committed changes.