On 08/03/2012 12:36 AM, Hu Tao wrote: > From: Wen Congyang <wency@xxxxxxxxxxxxxx> > > allow the user change/get hypervisor's period and quota when the vm is running. > --- > include/libvirt/libvirt.h.in | 16 +++++ > src/qemu/qemu_driver.c | 133 +++++++++++++++++++++++++++++++++++++++++- > 2 files changed, 148 insertions(+), 1 deletion(-) > > diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in > index 15c08c1..dd34295 100644 > --- a/include/libvirt/libvirt.h.in > +++ b/include/libvirt/libvirt.h.in > @@ -692,6 +692,22 @@ typedef virTypedParameter *virTypedParameterPtr; > #define VIR_DOMAIN_SCHEDULER_VCPU_QUOTA "vcpu_quota" > > /** > + * VIR_DOMAIN_SCHEDULER_HYPERVISOR_PERIOD: more of the s/hypervisor/emulator/ renaming > + * > + * Macro represents the enforcement period for a quota, in microseconds, > + * when using the posix scheduler, as a ullong. Enforcement period for what? I would suggest: Macro represents the enforcement period for a quota in microseconds, when using the posix scheduler, for all emulator activity not tied to vcpus, as a ullong. > + */ > +#define VIR_DOMAIN_SCHEDULER_HYPERVISOR_PERIOD "hypervisor_period" > + > +/** > + * VIR_DOMAIN_SCHEDULER_HYPERVISOR_QUOTA: > + * > + * Macro represents the maximum bandwidth to be used within a period, > + * when using the posix scheduler, as an llong. and similarly. It may mean rewording the existing descriptions of vcpu quota to be more obvious that they limit only vcpu activity. > @@ -7420,6 +7420,40 @@ cleanup: > } > > static int > +qemuSetHypervisorBWLive(virDomainObjPtr vm, virCgroupPtr cgroup, Probably copying from existing naming, but BW looks awkward to me (I first read it as black/white, not bandwidth); spelling it out would help. > static int > +qemuGetHypervisorBWLive(virDomainObjPtr vm, virCgroupPtr cgroup, > + unsigned long long *period, long long *quota) Same comment about spelling out BW as Bandwidth. > +{ > + virCgroupPtr cgroup_hypervisor = NULL; > + qemuDomainObjPrivatePtr priv = NULL; > + int rc; > + int ret = -1; > + > + priv = vm->privateData; > + if (priv->nvcpupids == 0 || priv->vcpupids[0] == vm->pid) { > + /* We donot create sub dir for each vcpu */ s/donot/don't/ -- Eric Blake eblake@xxxxxxxxxx +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list