On 02/23/2016 10:58 AM, Henning Schild wrote:
Move qemuSetupCgroupForEmulator up under qemuSetupCgroup. That way
we move the one main thread right into the emulator cgroup, instead
of moving multiple threads later on. And we do not actually want any
threads running in the parent cgroups (cpu cpuacct cpuset).
Signed-off-by: Henning Schild <henning.schild(a)siemens.com>
---
src/qemu/qemu_process.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
This is where things are going to get messy. Peter Krempa posted a
series after yours:
http://www.redhat.com/archives/libvir-list/2016-February/msg01211.html
which conflicts with this and the followup patch. Hopefully between you,
Peter, and Dan something can be worked out.
Also, it seems starting at patch 7 there's more conflicts with the top
of the upstream, so I couldn't 'git am -3' them into a local branch.
John
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 05cbda2..65f718c 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -4895,6 +4895,10 @@ qemuProcessLaunch(virConnectPtr conn,
if (qemuSetupCgroup(driver, vm, nnicindexes, nicindexes) < 0)
goto cleanup;
+ VIR_DEBUG("Setting cgroup for emulator (if required)");
+ if (qemuSetupCgroupForEmulator(vm) < 0)
+ goto cleanup;
+
/* This must be done after cgroup placement to avoid resetting CPU
* affinity */
if (!vm->def->cputune.emulatorpin &&
@@ -4943,10 +4947,6 @@ qemuProcessLaunch(virConnectPtr conn,
if (rv == -1) /* The VM failed to start */
goto cleanup;
- VIR_DEBUG("Setting cgroup for emulator (if required)");
- if (qemuSetupCgroupForEmulator(vm) < 0)
- goto cleanup;
-
VIR_DEBUG("Setting affinity of emulator threads");
if (qemuProcessSetEmulatorAffinity(vm) < 0)
goto cleanup;