[libvirt] [PATCH 0/5] Make sure internal blkiotune values are in sync

John Ferlan jferlan at redhat.com
Tue Aug 18 17:18:25 UTC 2015



On 08/03/2015 10:50 AM, Martin Kletzander wrote:
> We were blindly setting blkiotune values for devices, but kernel can
> throw some of them away.  This series reworks the logic the same
> wayother tuning values are updated.  That is, after the value gets
> set, it is read back again to make sure internal structures are in
> sync and we can return the values from them.
> 
> Little example should clear up everything.
> 
> Before:
> =======
> 
>   $ virsh blkiotune dummy --device-read-bytes-sec /dev/sda,18446744073709551614
> 
>   $ virsh blkiotune dummy
>   weight         : 500
>   device_weight  :
>   device_read_iops_sec:
>   device_write_iops_sec:
>   device_read_bytes_sec: /dev/sda,18446744073709551614
>   device_write_bytes_sec:
> 
>   $ cat /sys/fs/cgroup/blkio/machine/dummy.libvirt-qemu/blkio.throttle.read_bps_device
>   8:0 18446744073709551614
>   $ virsh blkiotune dummy --device-read-bytes-sec /dev/sda,18446744073709551615
> 
>   $ virsh blkiotune dummy
>   weight         : 500
>   device_weight  :
>   device_read_iops_sec:
>   device_write_iops_sec:
>   device_read_bytes_sec: /dev/sda,18446744073709551615
>   device_write_bytes_sec:
> 
>   $ cat /sys/fs/cgroup/blkio/machine/dummy.libvirt-qemu/blkio.throttle.read_bps_device
> 
>   $
> 
> After:
> ======
> 
>   $ virsh blkiotune dummy --device-read-bytes-sec /dev/sda,18446744073709551614
> 
>   $ virsh blkiotune dummy
>   weight         : 500
>   device_weight  :
>   device_read_iops_sec:
>   device_write_iops_sec:
>   device_read_bytes_sec: /dev/sda,18446744073709551614
>   device_write_bytes_sec:
> 
>   $ cat /sys/fs/cgroup/blkio/machine/dummy.libvirt-qemu/blkio.throttle.read_bps_device
>   8:0 18446744073709551614
>   $ virsh blkiotune dummy --device-read-bytes-sec /dev/sda,18446744073709551615
> 
>   $ virsh blkiotune dummy
>   weight         : 500
>   device_weight  :
>   device_read_iops_sec:
>   device_write_iops_sec:
>   device_read_bytes_sec:
>   device_write_bytes_sec:
> 
>   $ cat /sys/fs/cgroup/blkio/machine/dummy.libvirt-qemu/blkio.throttle.read_bps_device
> 
>   $
> 
> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1165580
> 
> Martin Kletzander (5):
>   util: Add virStringGetFirstWithPrefix
>   util: Add virCgroupGetBlockDevString
>   util: Add getters for cgroup block device I/O throttling
>   lxc: Sync BlkioDevice values when setting them in cgroups
>   qemu: Sync BlkioDevice values when setting them in cgroups
> 
>  src/libvirt_private.syms |   6 +
>  src/lxc/lxc_cgroup.c     |  20 ++-
>  src/lxc/lxc_driver.c     |  25 ++-
>  src/qemu/qemu_cgroup.c   |  20 ++-
>  src/qemu/qemu_driver.c   |  25 ++-
>  src/util/vircgroup.c     | 457 +++++++++++++++++++++++++++++++++++------------
>  src/util/vircgroup.h     |  20 +++
>  src/util/virstring.c     |  17 ++
>  src/util/virstring.h     |   2 +
>  9 files changed, 459 insertions(+), 133 deletions(-)
> 
> --
> 2.5.0
> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
> 

ACK series with adjustments in patch 3

John




More information about the libvir-list mailing list