PCI Socket Affnity
Nova's current support for NUMA affinity for PCI devices is limited in the
kinds of affinity that it can express. Either a PCI device has affnity for a
NUMA node, or no affinity at all. This is modelled on older processors's
layout, and has worked fine until now.
Older processors package multiple NUMA nodes into a single package, which is
installed into a single physical socket. The internal processor layout makes it
so that PCI devices have affinity to a specific NUMA node, despite all the
nodes sharing the same socket.
More recent processors, in particular from AMD, have a different internal
layout. This makes Nova's current NUMA node affinity model insufficient. Second
generation AMD EPYC processors have a central IO chiplet per socket, with a
configurable number of NUMA nodes on top. PCI devices are affined to this
central chiplet, as opposed to individual NUMA nodes. In other words, Nova
needs a way to express PCI affinity to a socket. This spec proposes a way to
implement that.
Blueprint information
- Status:
- Complete
- Approver:
- Balazs Gibizer
- Priority:
- Undefined
- Drafter:
- Artom Lifshitz
- Direction:
- Approved
- Assignee:
- Artom Lifshitz
- Definition:
- Approved
- Series goal:
- Accepted for wallaby
- Implementation:
- Implemented
- Milestone target:
- wallaby-3
- Started by
- Artom Lifshitz
- Completed by
- Balazs Gibizer
Related branches
Related bugs
Sprints
Whiteboard
https:/
[20210122 gibi]: spec has been merged so this bp is approved to Wallaby
[20210312 gibi]: the implementation has been merged in Wallaby