On 01/12/2016 11:42 AM, Alexander Burluka wrote:
We decide to make a global per domain bandwidth setting
as were discussed in mailing list earlier.
This patchset implements hierarchy top level cpu.cfs_period_us
and cpu.cfs_quota_us control knob. I've named this parameters
as global_period and global_quota.
I haven't looked into the details of the patches (and don't really feel
qualified to do so), but wanted to mention a couple of things:
* although there are examples in the RNG of elements and attributes with
underscores in their names, we had decided a few years ago that they
should be avoided, and capitalization be used instead (e.g.
globalPeriod). I truthfully don't know how well that's been adhered to
(and also see that there are already other sublements within cputune
that use _, e.g. emulator_period), so I don't know which way we should
try to be consistent (going either way could be seen as wrong), but just
thought I should mention it.
* there are no new XML test cases that use the new elements.
Alexander Burluka (7):
Add global period definitions
Add global quota parameter necessary definitions
Add error checking on global quota and period
Add new cgroup thread type
Rename qemuSetupCgroupVcpuBW to qemuSetupBandwidthCgroup
Implement qemuSetupGlobalCpuCgroup
Implement handling of per-domain bandwidth settings
docs/schemas/domaincommon.rng | 10 ++++
include/libvirt/libvirt-domain.h | 32 ++++++++++
src/conf/domain_conf.c | 37 ++++++++++++
src/conf/domain_conf.h | 2 +
src/qemu/qemu_cgroup.c | 78 +++++++++++++++++++++---
src/qemu/qemu_cgroup.h | 7 ++-
src/qemu/qemu_command.c | 3 +-
src/qemu/qemu_driver.c | 125 +++++++++++++++++++++++++++++++++++++--
src/qemu/qemu_process.c | 4 ++
src/util/vircgroup.c | 4 ++
src/util/vircgroup.h | 1 +
11 files changed, 287 insertions(+), 16 deletions(-)