[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