This series adds iotest case for IO throttling.
There is a change in qemu-io sub-commands "aio_read" and "aio_write", which
makes the aio requests accounted and the statistics reflected in blockstats.
Note that IO throttling implementation allows overcommiting of requests, so the
actual IO happened in a time unit may be a bit larger than given limits. In the
test case, the stats numbers are compared against 110%, to make room for such
flexibility in order to improve determinism.
v2:
[01/05] qemu-io: Account IO by aio_read and aio_write
Account unconditionally. (Paolo)
[02/05] qtest: Add scripts/qtest/qtest.py
New.
[03/05] qemu-iotests: Add VM method qtest() to iotests.py
Utilize qtests.py
[04/05] qemu-iotests: Allow caller to disable underscore convertion for qmp
Fix commit spelling. (Eric)
[05/05] qemu-iotests: Add 080 for IO throttling
Add assertion on ending blockstats.
Spell fix. (Stefan)
Change bps limits to 1024. (Stefan)
Remove commented line. (Stefan)
Add comment on overriding "bps_max" and "iops_max". (Stefan)
Reduce amount of requests issued with qemu-io cmd. (Stefan)
Change "<" to "<=" in check_limits, it's safer for burst.
Fam Zheng (5):
qemu-io: Account IO by aio_read and aio_write
qtest: Add scripts/qtest/qtest.py
qemu-iotests: Add VM method qtest() to iotests.py
qemu-iotests: Allow caller to disable underscore convertion for qmp
qemu-iotests: Add 080 for IO throttling
qemu-io-cmds.c | 10 +++
scripts/qtest | 5 --
scripts/qtest/qtest.py | 78 +++++++++++++++++++
tests/qemu-iotests/080 | 172 ++++++++++++++++++++++++++++++++++++++++++
tests/qemu-iotests/080.out | 5 ++
tests/qemu-iotests/group | 1 +
tests/qemu-iotests/iotests.py | 27 ++++++-
7 files changed, 289 insertions(+), 9 deletions(-)
delete mode 100755 scripts/qtest
create mode 100644 scripts/qtest/qtest.py
create mode 100755 tests/qemu-iotests/080
create mode 100644 tests/qemu-iotests/080.out
--
1.8.5.4