[libvirt] [RFC PATCH 0/8 v2] Summary on block IO throttle

Eric Blake eblake at redhat.com
Thu Oct 27 15:45:19 UTC 2011


On 10/27/2011 03:12 AM, Lei Li wrote:
> 1) Enable the blkio throttling in xml when guest is starting up.
>
> Add blkio throttling in xml as follows:
>
>      <disk type='file' device='disk'>
>        <driver name='qemu' type='raw'/>
>        <source file='/var/lib/libvirt/images/kvm-one.img'/>
>        <target dev='vda' bus='virtio'/>
>        <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
>        <iotune bps='n'.../>
>      </disk>
>
> 2) Enable blkio throttling setting at guest running time.
>
> virsh blkiothrottle<domain>  <device>  [--bps<number>] [--bps_rd<number>] \
> [--bps_wr<number>] [--iops<number>] [--iops_rd<number>] [--iops_wr<number>]
>
> 3) The support to get the current block i/o throttling for a device - HMP/QMP.
>
> virsh blkiothrottle<domain>  <device>

Given that the XML is named <iotune> under <disk>, we should probably 
name the virsh command 'blkiotune' or 'disk-iotune', not 'blkiothrottle'.

Also, <iotune bps='n'.../> doesn't look right.  This should be similar 
to the top-level XML.  Here, taking into account the other proposal for 
per-block-device values (which can't be tied to individual <disk>):

<domain...>
   <blkiotune>
     <weight>800</weight>
     <device>
       <path>/path/to/device</path>
       <weight>200</weight>
     </device>
   </blkiotune>
   <devices>
     <disk ...>
       <iotune>
         <bps>800</bps>
         ...
       </iotune>
     </disk>
   </devices>
</domain>


>
>   daemon/remote.c                 |   85 +++++++++++++++++
>   include/libvirt/libvirt.h.in    |   25 +++++

Missing changes in docs/formatdomain.html.in (to describe the new XML), 
docs/schemas/domaincommon.rng (to validate the new xml), and tests/ 
(probably qemuxml2argvdata), to test it.

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org




More information about the libvir-list mailing list