Hello Peter,

This is my first review. I tested the patch series on my system and it works fine. The refactoring part and the logic for autoCpuset and autoNodeset looks good. ACK from my side.

Thanks,
Nitesh.


On Wed, Jul 12, 2017 at 7:14 PM, Peter Krempa <pkrempa@redhat.com> wrote:
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