[libvirt] [PATCH 0/3] several cgroups/cpuset fixes

Henning Schild henning.schild at siemens.com
Fri Nov 13 16:56:58 UTC 2015


i already explained some of the cgroup problems in some detail so i
will not do that again.

I managed to solve some of the problems in the current codebase, and
am now sharing the patches. But they are really just half of what i 
had to change to get libvirt to behave in a system with isolated cpus.

Other changes/hacks i am not sending here because they do not work for
the general case:
- create machine.slice before starting libvirtd (smaller than root)
  ... and hope it wont grow
- disabling cpuset.cpus inheritance in libvirtd
- allowing only xml with fully specified cputune
- set machine cpuset to (vcpupins | emulatorpin)

I am not sure how useful the individual fixes are, i am sending them
as concrete examples for the problems i described earlier. And i am
hoping that will start a discussion.


Henning Schild (3):
  util: cgroups do not implicitly add task to new machine cgroup
  qemu: do not put a task into machine cgroup
  qemu cgroups: move new threads to new cgroup after cpuset is set up

 src/lxc/lxc_cgroup.c   |  6 ++++++
 src/qemu/qemu_cgroup.c | 23 ++++++++++++++---------
 src/util/vircgroup.c   | 22 ----------------------
 3 files changed, 20 insertions(+), 31 deletions(-)


More information about the libvir-list mailing list