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