Cgroups code fails if it's instructed to bind memory usage of a qemu process to
a NUMA node which does not have any memory.
First four patches are preliminary cleanups and the fix to keep the autoCpuset
private data entry in the status XML necessary to modify autoNodeset in the
future.
The last patch modifies autoNodeset to be an intersection of the advice from
numad with host NUMA node set containing memory, so that we don't ask for
impossible things when setting up cgroups.
Peter Krempa (5):
util: bitmap: Modify virBitmapSubtract to virBitmapIntersect
qemu: domain: Extract parsing and formatting of priv->autoNodeset
qemu: domain: Store and restore autoCpuset to status XML
qemu: process: Extract gathering of 'numad' placement into a function
qemu: process: Don't put memoryless NUMA nodes into autoNodeset
src/libvirt_private.syms | 2 +-
src/qemu/qemu_domain.c | 102 ++++++++++++++++++++++++++++++++++++-----------
src/qemu/qemu_process.c | 73 +++++++++++++++++++++++----------
src/util/virbitmap.c | 14 +++----
src/util/virbitmap.h | 2 +-
tests/qemuxml2xmltest.c | 2 +-
tests/virbitmaptest.c | 14 +++----
7 files changed, 147 insertions(+), 62 deletions(-)
--
2.12.2