TODO:
1. We create sub directory for each vcpu in cpu subsystem. So
we should recalculate cpu.shares for each vcpu.
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(-)