At 07/21/2011 09:00 PM, Adam Litke Write: > > > 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; When we set, we use '*quota *= vm->def->vcpus;', so when we read, we should use '*quota /= vm->def->vcpus' Thanks Wen Congyang > ? > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list