On Tue, Aug 30, 2011 at 3:18 PM, shu ming <shuming(a)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