At 07/18/2011 09:36 PM, Lee Schermerhorn Write: > On Mon, 2011-07-18 at 17:34 +0800, Wen Congyang wrote: >> TODO: >> 1. We create sub directory for each vcpu in cpu subsystem. So >> we should recalculate cpu.shares for each vcpu. > > Is the per vcpu cgroup optional? I.e., is is possible to set the period > and quota for the entire domain and let the host scheduler deal with > it? > > Caveat: Domain level CFS shares seems to work well--"work well" here > means "behaves as I expected" ;-). I have no experience with the > period/quota facility and libvirt domains, so maybe it doesn't make The quota's value means that all tasks in this task group as a whole will not be allowedto consume more than quota(unit: us) worth of runtime within a period of period(unit: us). If per-vcpu thread is active, each vcpu has a thread. If one vcpu consume quota worth of runtime, the other vcpu will be hunger. > sense to cap cpu utilization at the domain level. > > Regards, > Lee > >> >> Changelog: >> v3: fix some small bugs >> implement the simple way >> v2: almost rewrite the patchset to support to control each vcpu's >> bandwidth. >> Limit quota to [-1, 2^64/1000] at the schemas level. We will >> check it at cgroup level. >> >> Wen Congyang (6): >> Introduce the function virCgroupForVcpu >> cgroup: Implement cpu.cfs_period_us and cpu.cfs_quota_us tuning API >> Update XML Schema for new entries >> qemu: Implement period and quota tunable XML configuration and >> parsing >> qemu: Implement cfs_period and cfs_quota's modification >> doc: Add documentation for new cputune elements period and quota >> >> docs/formatdomain.html.in | 19 ++ >> docs/schemas/domain.rng | 26 +++- >> src/conf/domain_conf.c | 20 ++- >> src/conf/domain_conf.h | 2 + >> src/libvirt_private.syms | 5 + >> src/qemu/qemu_cgroup.c | 127 +++++++++++ >> src/qemu/qemu_cgroup.h | 4 + >> src/qemu/qemu_driver.c | 259 ++++++++++++++++++++--- >> src/qemu/qemu_process.c | 4 + >> src/util/cgroup.c | 153 +++++++++++++- >> src/util/cgroup.h | 11 + >> tests/qemuxml2argvdata/qemuxml2argv-cputune.xml | 2 + >> 12 files changed, 596 insertions(+), 36 deletions(-) >> >> -- >> libvir-list mailing list >> libvir-list@xxxxxxxxxx >> https://www.redhat.com/mailman/listinfo/libvir-list > > > > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list