TODO: 1. We create sub directory for each vcpu in cpu subsystem. So we should recalculate cpu.shares for each vcpu. Changelog: 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 (10): 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. support to pass VIR_DOMAIN_AFFECT_CURRENT to virDomainGetVcpusFlags() vcpubandwidth: introduce two new libvirt APIs vcpubandwidth: implement the code to support new API for the qemu driver vcpubandwidth: implement the remote protocol to address the new API vcpubandwidth: Implement virsh support doc: Add documentation for new cputune elements period and quota daemon/remote.c | 132 +++++++ docs/formatdomain.html.in | 19 + docs/schemas/domain.rng | 29 ++- include/libvirt/libvirt.h.in | 41 +++- python/generator.py | 2 + src/conf/domain_conf.c | 272 ++++++++++++++- src/conf/domain_conf.h | 17 + src/driver.h | 14 + src/libvirt.c | 129 +++++++- src/libvirt_private.syms | 9 + src/libvirt_public.syms | 6 + src/qemu/qemu_cgroup.c | 131 +++++++ src/qemu/qemu_cgroup.h | 2 + src/qemu/qemu_driver.c | 429 ++++++++++++++++++++++- src/qemu/qemu_process.c | 4 + src/remote/remote_driver.c | 64 ++++ src/remote/remote_protocol.x | 32 ++- src/rpc/gendispatch.pl | 30 ++ src/util/cgroup.c | 153 ++++++++- src/util/cgroup.h | 11 + tests/qemuxml2argvdata/qemuxml2argv-cputune.xml | 2 + tools/virsh.c | 142 ++++++++- tools/virsh.pod | 16 + 23 files changed, 1658 insertions(+), 28 deletions(-) -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list