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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list