[libvirt] [PATCH v2 0/8] Add throttle blkio cgroup support for libvirt

Gao feng gaofeng at cn.fujitsu.com
Wed Dec 11 08:29:45 UTC 2013


Right now, libvirt only supports the cfq based blkio cgorup,
this means if the block devices doesn't use cfq scheduler, the
blkio cgroup will loss effect.

This patchset adds the throttle blkio cgroup support for libvirt,
introduces four elements for domain configuration and extend the
virsh command blkiotune.

This patchset is a new version of Guan Qiang's patchset
://www.redhat.com/archives/libvir-list/2013-October/msg01066.html

Change from v1:
1, rearrange the order of patches
2, change the options/elements of throttle blkio cgroup to consist
   with disk iotune.
3, fix complie error when cgroup is unavailable.
4, remove virCgroupSetBlkioDevice, split virCgroupSetBlkioDeviceBps
   and virCgroupSetBlkioDeviceIops

Change from Guan Qiang's patchset:
1, split to 8 patches, make logic more clear
2, change the type of read/write iops form unsigned long long to unsigned int,
   trying to set read/write iops to the value which bigger than max number of
   unsigned int will fail.
3, fix some logic shortage.

Gao feng (8):
  rename virDomainBlkioDeviceWeightParseXML to
    virDomainBlkioDeviceParseXML
  rename virBlkioDeviceWeightArrayClear to virBlkioDeviceArrayClear
  rename virBlkioDeviceWeightPtr to virBlkioDevicePtr
  domain: introduce xml elements for throttle blkio cgroup
  blkio: Setting throttle blkio cgroup for domain
  virsh: add setting throttle blkio cgroup option to blkiotune
  qemu: allow to setup throttle blkio cgroup through virsh
  lxc: allow to setup throttle blkio cgroup through virsh

 docs/schemas/domaincommon.rng                      |  28 +-
 include/libvirt/libvirt.h.in                       |  45 ++
 src/conf/domain_conf.c                             | 113 +++-
 src/conf/domain_conf.h                             |  16 +-
 src/libvirt_private.syms                           |   6 +-
 src/lxc/lxc_cgroup.c                               |  29 +-
 src/lxc/lxc_driver.c                               | 649 ++++++++++++++++++++-
 src/qemu/qemu_cgroup.c                             |  29 +-
 src/qemu/qemu_driver.c                             | 443 ++++++++++++--
 src/util/vircgroup.c                               | 224 ++++++-
 src/util/vircgroup.h                               |  16 +
 .../qemuxml2argv-blkiotune-device.xml              |   8 +
 tools/virsh-domain.c                               |  64 ++
 tools/virsh.pod                                    |  36 +-
 14 files changed, 1583 insertions(+), 123 deletions(-)

-- 
1.8.3.1




More information about the libvir-list mailing list