[libvirt] [PATCH RFC V2 00/10] support cpu bandwidth in libvirt

Wen Congyang wency at cn.fujitsu.com
Thu Jun 30 03:00:20 UTC 2011


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(-)




More information about the libvir-list mailing list