[libvirt] [PATCH 5/9] qemu_cgroup: put qemu right into emulator sub-cgroup

John Ferlan jferlan at redhat.com
Thu Feb 25 22:53:30 UTC 2016



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 at 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;
> 




More information about the libvir-list mailing list