[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v9 0/6] add throttle block driver filter
From: |
Manos Pitsidianakis |
Subject: |
[Qemu-block] [PATCH v9 0/6] add throttle block driver filter |
Date: |
Fri, 25 Aug 2017 16:20:22 +0300 |
This series adds a throttle block driver filter. Currently throttling is done
at the BlockBackend level. Using block driver interfaces we can move the
throttling to any point in the BDS graph using a throttle node which uses the
existing throttling code. This allows for potentially more complex
configurations (throttling at any point in the graph, chained filters)
v9:
fix suggestions by stefanha in patch 4
add 'throttle_group_can_be_deleted' function in patch 4
v8:
fix suggestions by berto
v7:
remove anonymous groups
error on missing throttle-group option on block/throttle.c
change switch case format in block/throttle-groups.c (berto)
v6:
don't allow named group limit configuration in block/throttle.c; allow either
-drive driver=throttle,file.filename=foo.qcow2, \
limits.iops-total=...
or
-drive driver=throttle,file.filename=foo.qcow2,throttle-group=bar
fixes suggested by berto
v5:
fix crash in 'add aio_context field in ThrottleGroupMember'
fix suggestions in block/throttle.c
v4:
fix suggestions in block/throttle.c
fix suggestions in block/throttle_groups.c
add doc note in BlockDevOptionsThrottle
v3:
fix style error in 'add aio_context field in ThrottleGroupMember'
v2:
change QOM throttle group object name
print valid ranges for uint on error
move frees in throttle_group_obj_finalize()
split throttle_group_{set,get}()
add throttle_recurse_is_first_non_filter()
Manos Pitsidianakis (6):
block: move ThrottleGroup membership to ThrottleGroupMember
block: add aio_context field in ThrottleGroupMember
block: tidy ThrottleGroupMember initializations
block: convert ThrottleGroup to object with QOM
block: add throttle block filter driver
qemu-iotests: add 184 for throttle filter driver
qapi/block-core.json | 66 +++-
include/block/throttle-groups.h | 52 ++-
include/qemu/throttle-options.h | 60 +++-
include/qemu/throttle.h | 3 +
include/sysemu/block-backend.h | 20 +-
block/block-backend.c | 62 ++--
block/qapi.c | 8 +-
block/throttle-groups.c | 748 ++++++++++++++++++++++++++++++----------
block/throttle.c | 250 ++++++++++++++
blockdev.c | 4 +-
tests/test-throttle.c | 111 +++---
util/throttle.c | 151 ++++++++
block/Makefile.objs | 1 +
tests/qemu-iotests/184 | 205 +++++++++++
tests/qemu-iotests/184.out | 300 ++++++++++++++++
tests/qemu-iotests/group | 1 +
16 files changed, 1721 insertions(+), 321 deletions(-)
create mode 100644 block/throttle.c
create mode 100755 tests/qemu-iotests/184
create mode 100644 tests/qemu-iotests/184.out
--
2.11.0
- [Qemu-block] [PATCH v9 0/6] add throttle block driver filter,
Manos Pitsidianakis <=
- [Qemu-block] [PATCH v9 3/6] block: tidy ThrottleGroupMember initializations, Manos Pitsidianakis, 2017/08/25
- [Qemu-block] [PATCH v9 6/6] qemu-iotests: add 184 for throttle filter driver, Manos Pitsidianakis, 2017/08/25
- [Qemu-block] [PATCH v9 2/6] block: add aio_context field in ThrottleGroupMember, Manos Pitsidianakis, 2017/08/25
- [Qemu-block] [PATCH v9 1/6] block: move ThrottleGroup membership to ThrottleGroupMember, Manos Pitsidianakis, 2017/08/25
- [Qemu-block] [PATCH v9 4/6] block: convert ThrottleGroup to object with QOM, Manos Pitsidianakis, 2017/08/25
- [Qemu-block] [PATCH v9 5/6] block: add throttle block filter driver, Manos Pitsidianakis, 2017/08/25