[libvirt] The design choice for how to enable block I/O throttling function in libvirt

Zhi Yong Wu zwu.kernel at gmail.com
Tue Aug 30 08:10:13 UTC 2011


On Tue, Aug 30, 2011 at 3:18 PM, shu ming <shuming at linux.vnet.ibm.com> wrote:
> See commens below.
> Zhi Yong Wu:
>>
>> HI, folks,
>>
>> I am trying to enable block I/O throttling function in libvirt. But
>> currently i met some design questions, and don't make sure if we
>> should extend blkiotune to support block I/O throttling or introduce
>> one new libvirt command "blkiothrottle" to cover it or not. If you
>> have some better idea, pls don't hesitate to drop your comments.
>>
>> If one new libvirt command "blkiothrottle" is introduced, I plan to
>> design its usage syntax as below:
>>
>> virsh # help blkiothrottle
>>   NAME
>>     blkiothrottle - Set or display a block disk I/O throttle setting.
>>
>>   SYNOPSIS
>>     blkiothrottle<domain>  <device>  [--bps<number>] [--bps_rd
>> <number>] [--bps_wr<number>] [--iops<number>] [--iops_rd<number>]
>> [--iops_wr<number>]
>>
>>   DESCRIPTION
>>     Set or display a block disk I/O throttle setting.
>>
>>   OPTIONS
>>     [--domain]<string>   domain name, id or uuid
>>     [--device]<string>   block device
>>     --bps<number>    total throughput limits in bytes/s
>>     --bps_rd<number>   read throughput limits in bytes/s
>>     --bps_wr<number>   write throughput limits in bytes/s
>>     --iops<number>   total operation limits in numbers/s
>>     --iops_rd<number>   read operation limits in numbers/s
>>     --iops_wr<number>   write operation limits in numbers/s
>>
>
> How to display the current I/O throttle setting of a specific block device
> here?
It will show as below:
virtio0: bps=xxx, bps_rd=xxx, bps_wr=xxx, iops=xxx, iops_rd=xxx, iops_wr=xxx.

> I prfer to have less command to be as simple as possible for users.  But it
> seems
> that we need another command here instead of having a block IO specific
> command like "iothrottle".
I also prefer this, but would like to get other guy's suggestions,
especially maintainers.

> Supposely,  the next step of I/O throttling will be network device limit.
>  Shoud we have another
> new command like "niciothrottle"?
For network device, network cgroup can cover this.
>
>
>



-- 
Regards,

Zhi Yong Wu




More information about the libvir-list mailing list