Modern servers using multiple physical CPU sockets have NUMA. PCIe devices are attached to one specific NUMA node as the PCIe controller is embedded in the physical CPU chip.

Is it possible to change the assignment of the PCIe device from one NUMA node to another?

In my point of view this would be possible by changing the physical slot where the PCIe device is connected, to a slot that is attached to a different NUMA node.

I was wondering if there are motherboards that supports to do this change via software. If this is supported how can you do it in Linux or other OSes?


It's hardwired and wouldn't be changeable via software.

What problem are you looking to solve?

| improve this answer | |
  • When you use NUMA pinning, and PCI-passthrough I would like to be able to assign internal network card to 1st NUMA node and external one to 2nd NUMA node. But I have a server where both are on the same node. How can I move external card to 2nd node? Only changing the slot? – Mircea Vutcovici Sep 14 '17 at 14:18
  • PCI-passthrough with what? More details about the OS, application, the hardware involved, and anything else relevant. – ewwhite Sep 14 '17 at 14:33
  • Host OS RHEL7, libvirt+kvm. I am interested to learn. I do not have a physical machine with PCIe NUMA locality to test. I notice that some machines have NUMA nodes that are not connected to PCIe devices. – Mircea Vutcovici Sep 14 '17 at 16:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.