[libvirt] [PATCH 03/13] create a new cgroup and move all hypervisor threads to the new cgroup

Hu Tao hutao at cn.fujitsu.com
Tue Jul 24 05:37:56 UTC 2012


On Tue, Jul 10, 2012 at 05:14:01PM +0800, tangchen wrote:
> create a new cgroup and move all hypervisor threads to the new cgroup.
> And then we can do the other things:
> 1. limit only vcpu usage rather than the whole qemu
> 2. limit for hypervisor threads(include vhost-net threads)
> 
> Signed-off-by: Wen Congyang <wency at cn.fujitsu.com>
> ---
>  src/qemu/qemu_cgroup.c  |   67 ++++++++++++++++++++++++++++++++++++++++++++---
>  src/qemu/qemu_cgroup.h  |    2 ++
>  src/qemu/qemu_process.c |    6 ++++-
>  3 files changed, 70 insertions(+), 5 deletions(-)
> 
> diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
> index f8f375f..5f7e8b0 100644
> --- a/src/qemu/qemu_cgroup.c
> +++ b/src/qemu/qemu_cgroup.c
> @@ -523,11 +523,12 @@ int qemuSetupCgroupForVcpu(struct qemud_driver *driver, virDomainObjPtr vm)
>      }
>  
>      if (priv->nvcpupids == 0 || priv->vcpupids[0] == vm->pid) {
> -        /* If we does not know VCPU<->PID mapping or all vcpu runs in the same
> +        /* If we does not know VCPU<->PID mapping or all vcpus run in the same
>           * thread, we cannot control each vcpu.
>           */
> -        virCgroupFree(&cgroup);
> -        return 0;
> +        qemuReportError(VIR_ERR_INTERNAL_ERROR,
> +                        _("Unable to get vcpus' pids."));

virReportError.

-- 
Thanks,
Hu Tao




More information about the libvir-list mailing list