[PATCH 0/5] qemu: Prefer -numa cpu over -numa node,cpus=

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Another round of patches to catch up with the latest command line
building recommendations. This time, the winner is: -numa cpu

Thing is, the way vCPUs are assigned to NUMA nodes is not very
deterministic right now. QEMU relies on this weird mapping where firstly
threads are iterated over, then cores, then (possibly) dies and then
sockets. So they came up with a better schema:

  -numa cpu,node-id=N,socket-id=S,die-id=D,core-id=C,thread-id=T

where everything is specified on the command line. Long story short,
some QEMU code is copied over to keep status quo (or, whatever you
want). It was buried down down (include/hw/i386/topology.h). I wanted to
allow users configure the vCPU topology too, but then decided not to
because neither Libvirt nor QEMU can really guarantee the topology will
look the same in the guest (at least in my testing with cpu
mode='host-passthrough' it didn't). Or, what you're proposing? I can
post them as a follow up if needed.

Michal Prívozník (5):
  qemuBuildNumaArgStr: Move vars into loops
  qemuBuildNumaArgStr: Use g_autofree on @nodeBackends
  qemuBuildNumaArgStr: Separate out old style of building CPU list
  qemu: Prefer -numa cpu over -numa node,cpus=
  virCPUDefParseXML: Parse uint using virXPathUInt

 src/conf/cpu_conf.c                           |  14 +-
 src/qemu/qemu_command.c                       | 168 +++++++++++++++---
 .../hugepages-nvdimm.x86_64-latest.args       |   4 +-
 ...memory-default-hugepage.x86_64-latest.args |  10 +-
 .../memfd-memory-numa.x86_64-latest.args      |  10 +-
 ...y-hotplug-nvdimm-access.x86_64-latest.args |   4 +-
 ...ry-hotplug-nvdimm-align.x86_64-latest.args |   4 +-
 ...ry-hotplug-nvdimm-label.x86_64-latest.args |   4 +-
 ...ory-hotplug-nvdimm-pmem.x86_64-latest.args |   4 +-
 ...ory-hotplug-nvdimm-ppc64.ppc64-latest.args |   4 +-
 ...hotplug-nvdimm-readonly.x86_64-latest.args |   4 +-
 .../memory-hotplug-nvdimm.x86_64-latest.args  |   4 +-
 ...vhost-user-fs-fd-memory.x86_64-latest.args |   4 +-
 ...vhost-user-fs-hugepages.x86_64-latest.args |   4 +-
 ...host-user-gpu-secondary.x86_64-latest.args |   3 +-
 .../vhost-user-vga.x86_64-latest.args         |   3 +-
 16 files changed, 195 insertions(+), 53 deletions(-)

-- 
2.26.2




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux