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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list