[libvirt] [PATCH 0/6] Support for per-guest-node binding

Martin Kletzander mkletzan at redhat.com
Wed Jun 4 14:56:26 UTC 2014


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




More information about the libvir-list mailing list