[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH V3 for-1.6 0/5] Leaky bucket throttling and features
From: |
Benoît Canet |
Subject: |
[Qemu-devel] [PATCH V3 for-1.6 0/5] Leaky bucket throttling and features |
Date: |
Tue, 23 Jul 2013 18:29:23 +0200 |
The first patch fixes the throttling which was broken by a previous commit.
The next patch replace the existing throttling algorithm by the well described
leaky bucket algorithm.
Third patch implement bursting by adding *_threshold parameters to
qmp_block_set_io_throttle.
The last one allow to define the max size of an io when throttling by iops via
iops_sector_count to avoid vm users cheating on the iops limit.
The last patch adds a metric reflecting how much the I/O are throttled.
since v1:
Add throttling percentage metric [Benoît]
since v2:
Enable timer only during I/O activity [Stefan]
Mark function as coroutine_fn [Stefan]
Guard these function checking they are in a coroutine [Stefan]
Use defines to access buckets [Stefan]
Fix typo [Stefan]
reset throttling metric on iddle [Benoît]
rename invalid to check_io_limit [Stefan]
Benoît Canet (5):
block: Repair the throttling code.
block: Modify the throttling code to implement the leaky bucket
algorithm.
block: Add support for throttling burst threshold in QMP and the
command line.
block: Add iops_sector_count to do the iops accounting for a given io
size.
block: Add throttling percentage metrics.
block.c | 493 ++++++++++++++++++++++++++++-----------------
block/qapi.c | 32 +++
blockdev.c | 174 ++++++++++++++--
hmp.c | 38 +++-
include/block/block_int.h | 18 +-
include/block/coroutine.h | 9 +-
qapi-schema.json | 42 +++-
qemu-coroutine-lock.c | 20 +-
qemu-options.hx | 2 +-
qmp-commands.hx | 34 +++-
10 files changed, 642 insertions(+), 220 deletions(-)
--
1.7.10.4
- [Qemu-devel] [PATCH V3 for-1.6 0/5] Leaky bucket throttling and features,
Benoît Canet <=