[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH V9 0/5] Continuous Leaky Bucket Throttling
From: |
Benoît Canet |
Subject: |
[Qemu-devel] [PATCH V9 0/5] Continuous Leaky Bucket Throttling |
Date: |
Fri, 30 Aug 2013 22:14:03 +0200 |
This patchset implement continous leaky bucket throttling.
It use two requests queue to enable to do silly unbalanced throttling like
block_set_io_throttle 0 0 0 0 6000 1
It use two timer to get the timer callbacks and the throttle.c code simple
in this version:
Apply Reviewed-By by Eric
Rebased on top of "qmp: fix integer usage in examples" by Eric (Please apply
it
first)
v8:
rearm timer only when it's not pending [Stefan]
Schedule next request right after accouting it [Stefan]
v7:
honor max values if specified [Paolo]
s/cfg/Linux CFQ/ [Stefan]
revert throttle_get_config to it's old prototype [Stefan]
s/size/@size/ [Stefan]
s/acccount/account/ [Stefan]
remove tracked_request_end uneeded hunk [Stefan]
Spaces before (json-int)s [Stefan]
Benoît Canet (5):
throttle: Add a new throttling API implementing continuous leaky
bucket.
throttle: Add units tests
block: Enable the new throttling code in the block layer.
block: Add support for throttling burst max in QMP and the command
line.
block: Add iops_size to do the iops accounting for a given io size.
block.c | 338 +++++++++----------------------
block/qapi.c | 50 +++--
blockdev.c | 205 ++++++++++++++-----
hmp.c | 36 +++-
include/block/block.h | 1 -
include/block/block_int.h | 32 +--
include/qemu/throttle.h | 103 ++++++++++
qapi-schema.json | 40 +++-
qemu-options.hx | 4 +-
qmp-commands.hx | 34 +++-
tests/Makefile | 2 +
tests/test-throttle.c | 481 +++++++++++++++++++++++++++++++++++++++++++++
util/Makefile.objs | 1 +
util/throttle.c | 396 +++++++++++++++++++++++++++++++++++++
14 files changed, 1384 insertions(+), 339 deletions(-)
create mode 100644 include/qemu/throttle.h
create mode 100644 tests/test-throttle.c
create mode 100644 util/throttle.c
--
1.7.10.4
- [Qemu-devel] [PATCH V9 0/5] Continuous Leaky Bucket Throttling,
Benoît Canet <=
- [Qemu-devel] [PATCH V9 1/5] throttle: Add a new t hrottling API implementing continuous leaky bucket., Benoît Canet, 2013/08/30
- [Qemu-devel] [PATCH V9 2/5] throttle: Add units t ests, Benoît Canet, 2013/08/30
- [Qemu-devel] [PATCH V9 4/5] block: Add support fo r throttling burst max in QMP and the command line., Benoît Canet, 2013/08/30
- [Qemu-devel] [PATCH V9 3/5] block: Enable the new throttling code in the block layer., Benoît Canet, 2013/08/30
- [Qemu-devel] [PATCH V9 5/5] block: Add iops_siz e to do the iops accounting for a given io size., Benoît Canet, 2013/08/30