[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH V4 0/5] Continuous Leaky Bucket Throttling
From: |
Benoît Canet |
Subject: |
[Qemu-devel] [PATCH V4 0/5] Continuous Leaky Bucket Throttling |
Date: |
Thu, 8 Aug 2013 16:29:48 +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
It add unit tests.
It fail with the following error message at exit and I don't know why yet.
qemu-system-x86_64: block.c:1489: bdrv_drain_all: Assertion
`((&bs->tracked_requests)->lh_first == ((void *)0))' failed.
The throttling core is pretty solid and the surrouding of the patchset needs
polish. (new options ...)
since previous version:
wrap qemu-option.hx declararation [Eric]
continuus -> continuous [Fam]
unit test [Paolo]
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_sector_count to do the iops accounting for a given io
size.
block.c | 351 ++++++++++----------------------
block/qapi.c | 50 +++--
blockdev.c | 207 ++++++++++++++-----
hmp.c | 36 +++-
include/block/block.h | 1 -
include/block/block_int.h | 32 +--
include/qemu/throttle.h | 105 ++++++++++
qapi-schema.json | 40 +++-
qemu-options.hx | 4 +-
qmp-commands.hx | 34 +++-
tests/Makefile | 2 +
tests/test-throttle.c | 494 +++++++++++++++++++++++++++++++++++++++++++++
util/Makefile.objs | 1 +
util/throttle.c | 391 +++++++++++++++++++++++++++++++++++
14 files changed, 1405 insertions(+), 343 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 V4 0/5] Continuous Leaky Bucket Throttling,
Benoît Canet <=
- [Qemu-devel] [PATCH V4 1/5] throttle: Add a new t hrottling API implementing continuous leaky bucket., Benoît Canet, 2013/08/08
- [Qemu-devel] [PATCH V4 2/5] throttle: Add units t ests, Benoît Canet, 2013/08/08
- [Qemu-devel] [PATCH V4 3/5] block: Enable the new throttling code in the block layer., Benoît Canet, 2013/08/08
- [Qemu-devel] [PATCH V4 4/5] block: Add support fo r throttling burst max in QMP and the command line., Benoît Canet, 2013/08/08
- [Qemu-devel] [PATCH V4 5/5] block: Add iops_sec tor_count to do the iops accounting for a given io siz e., Benoît Canet, 2013/08/08
- Re: [Qemu-devel] [PATCH V4 0/5] Continuous Leaky Bucket Throttling*, Benoît Canet, 2013/08/09