Currently we are only able to bind the whole domain to some host nodes
using the /domain/numatune/memory element. Numerous requests were
made to support host<->guest numa node bindings, so this series tries
to pinch an idea on how to do that using /domain/numatune/memnode
elements.
That is incompatible with automatic numa placement (numad) since that
makes no sense. Also this disables any live changes to numa
parameters (the /domain/numatune/memory settings) since we cannot
change the settings given to qemu.
Martin Kletzander (6):
conf, schema: add 'id' field for cells
conf, schema: add support for numatune memnode element
conf: add virDomainGetMemsForGuestCpu()
qemu: purely a code movement
qemu: memory-ram capability probing
qemu: pass numa node binding preferences to qemu
docs/formatdomain.html.in | 26 ++-
docs/schemas/domaincommon.rng | 22 ++
src/conf/cpu_conf.c | 39 +++-
src/conf/domain_conf.c | 259 ++++++++++++++++++---
src/conf/domain_conf.h | 4 +
src/libvirt_private.syms | 1 +
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_cgroup.c | 18 +-
src/qemu/qemu_command.c | 160 +++++++++++--
src/qemu/qemu_command.h | 3 +-
src/qemu/qemu_domain.c | 23 +-
src/qemu/qemu_driver.c | 23 +-
src/qemu/qemu_process.c | 3 +-
src/util/virnuma.h | 14 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa1.xml | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa2.xml | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa3.xml | 25 ++
.../qemuxml2argv-numatune-auto-prefer.xml | 29 +++
.../qemuxml2argv-numatune-auto.args | 6 +
.../qemuxml2argv-numatune-auto.xml | 26 +++
.../qemuxml2argv-numatune-memnode-nocpu.xml | 25 ++
.../qemuxml2argv-numatune-memnodes-problematic.xml | 31 +++
.../qemuxml2argv-numatune-memnodes.args | 8 +
.../qemuxml2argv-numatune-memnodes.xml | 31 +++
.../qemuxml2argv-numatune-prefer.args | 6 +
.../qemuxml2argv-numatune-prefer.xml | 29 +++
tests/qemuxml2argvtest.c | 51 ++--
.../qemuxml2xmlout-cpu-numa1.xml | 28 +++
.../qemuxml2xmlout-cpu-numa2.xml | 28 +++
tests/qemuxml2xmltest.c | 4 +
tests/qemuxmlnstest.c | 2 +-
32 files changed, 845 insertions(+), 94 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-numa3.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-prefer.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-auto.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-auto.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode-nocpu.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-memnodes-problematic.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-memnodes.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-memnodes.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-prefer.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-prefer.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-numa1.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-numa2.xml
--
2.0.0