[libvirt] [PATCH RESEND RFC v4 5/6] qemu: Implement cfs_period and cfs_quota's modification

Adam Litke agl at us.ibm.com
Thu Jul 21 13:00:21 UTC 2011



On 07/20/2011 09:11 PM, Wen Congyang wrote:
> +static int
> +qemuGetVcpusBWLive(virDomainObjPtr vm, virCgroupPtr cgroup,
> +                   unsigned long long *period, long long *quota)
> +{
> +    virCgroupPtr cgroup_vcpu = NULL;
> +    qemuDomainObjPrivatePtr priv = NULL;
> +    int rc;
> +    int ret = -1;
> +
> +    priv = vm->privateData;
> +    if (priv->nvcpupids == 0 || priv->vcpupids[0] == vm->pid) {
> +        /* We do not create sub dir for each vcpu */
> +        rc = qemuGetVcpuBWLive(cgroup, period, quota);
> +        if (rc < 0)
> +            goto cleanup;
> +
> +        if (*quota > 0)
> +            *quota /= vm->def->vcpus;
> +        goto out;
> +    }

Are you sure the above is correct?  Based on my earlier suggestion,
<quota> is always specified as the amount of runtime afforded to a
single vcpu.  Hence, if you are changing quota to cover for all of a
vm's vcpus, wouldn't you want to:

          *quota *= vm->def->vcpus;
?

-- 
Adam Litke
IBM Linux Technology Center




More information about the libvir-list mailing list