
On 11/13/2015 11:56 AM, Henning Schild wrote:
Hi,
i already explained some of the cgroup problems in some detail so i will not do that again. https://www.redhat.com/archives/libvir-list/2015-October/msg00876.html
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
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(-)
The updated code looks fine to me - although it didn't directly git am -3 to top of tree - I was able to make a few adjustments to get things merged... Since no one has objected to this ordering change - I've pushed. Tks - John