PCI Socket Affnity

Registered by Artom Lifshitz on 2020-12-04

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:
milestone icon wallaby-3
Started by
Artom Lifshitz on 2021-02-18
Completed by
Balazs Gibizer on 2021-03-12

Related branches

Sprints

Whiteboard

https://review.opendev.org/q/topic:bp/pci-socket-affinity

[20210122 gibi]: spec has been merged so this bp is approved to Wallaby
[20210312 gibi]: the implementation has been merged in Wallaby

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.