diff options
author | BenoƮt Canet <benoit@irqsave.net> | 2013-09-02 14:14:40 +0200 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2013-09-06 15:25:07 +0200 |
commit | 3e9fab690d59ac15956c3733fe0794ce1ae4c4af (patch) | |
tree | 0d7b4d55ff9a3664091148713c5a5bc3e2a02c8d /block | |
parent | cc0681c45430a1f1a4c2d06e9499b7775afc9a18 (diff) | |
download | qemu-3e9fab690d59ac15956c3733fe0794ce1ae4c4af.zip qemu-3e9fab690d59ac15956c3733fe0794ce1ae4c4af.tar.gz qemu-3e9fab690d59ac15956c3733fe0794ce1ae4c4af.tar.bz2 |
block: Add support for throttling burst max in QMP and the command line.
The max parameter of the leaky bucket throttling algorithm can be used to
allow the guest to do bursts.
The max value is a pool of I/O that the guest can use without being throttled
at all. Throttling is triggered once this pool is empty.
Signed-off-by: Benoit Canet <benoit@irqsave.net>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'block')
-rw-r--r-- | block/qapi.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/block/qapi.c b/block/qapi.c index cac3919..b1edc66 100644 --- a/block/qapi.c +++ b/block/qapi.c @@ -232,6 +232,32 @@ void bdrv_query_info(BlockDriverState *bs, info->inserted->iops = cfg.buckets[THROTTLE_OPS_TOTAL].avg; info->inserted->iops_rd = cfg.buckets[THROTTLE_OPS_READ].avg; info->inserted->iops_wr = cfg.buckets[THROTTLE_OPS_WRITE].avg; + + info->inserted->has_bps_max = + cfg.buckets[THROTTLE_BPS_TOTAL].max; + info->inserted->bps_max = + cfg.buckets[THROTTLE_BPS_TOTAL].max; + info->inserted->has_bps_rd_max = + cfg.buckets[THROTTLE_BPS_READ].max; + info->inserted->bps_rd_max = + cfg.buckets[THROTTLE_BPS_READ].max; + info->inserted->has_bps_wr_max = + cfg.buckets[THROTTLE_BPS_WRITE].max; + info->inserted->bps_wr_max = + cfg.buckets[THROTTLE_BPS_WRITE].max; + + info->inserted->has_iops_max = + cfg.buckets[THROTTLE_OPS_TOTAL].max; + info->inserted->iops_max = + cfg.buckets[THROTTLE_OPS_TOTAL].max; + info->inserted->has_iops_rd_max = + cfg.buckets[THROTTLE_OPS_READ].max; + info->inserted->iops_rd_max = + cfg.buckets[THROTTLE_OPS_READ].max; + info->inserted->has_iops_wr_max = + cfg.buckets[THROTTLE_OPS_WRITE].max; + info->inserted->iops_wr_max = + cfg.buckets[THROTTLE_OPS_WRITE].max; } bs0 = bs; |