Skip to content

throttle: Allow I/O bursts for a user-defined period of time

Alberto Garcia qemu-devel 2 versions – Applied

Status from this message: Thanks, applied to the block branch.

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest17 patches 3 repliesApplied
  2. v113 patches 7 repliesSuperseded

Changes in v2 from the cover letter

- Patch 10: Add the new parameters to qmp-commands.hx
- Patch 14: New iotest for this feature
- Patch 15: Fix typo in the API documentation
- Patch 16: New document that explains the throttling infrastructure
- Patch 17: Add myself as maintainer of the throttling code

Patches in v2 Applied

#Subject and filesSizeRepliesApplied
1/17throttle: Make throttle_compute_timer() staticinclude/qemu/throttle.h util/throttle.c+4 -100 replies
2/17throttle: Make throttle_conflicting() set errpblockdev.c include/qemu/throttle.h tests/test-throttle.c +1 more+17 -120 replies
3/17throttle: Make throttle_max_is_missing_limit() set errpblockdev.c include/qemu/throttle.h tests/test-throttle.c +1 more+9 -80 replies
4/17throttle: Make throttle_is_valid() set errpblockdev.c include/qemu/throttle.h tests/test-throttle.c +1 more+7 -60 replies
5/17throttle: Set always an average value when setting a maximum valuetests/test-throttle.c+2 -00 replies
6/17throttle: Merge all functions that check the configuration into oneblockdev.c include/qemu/throttle.h tests/test-throttle.c +1 more+19 -640 replies
7/17throttle: Use throttle_config_init() to initialize ThrottleConfigblockdev.c include/qemu/throttle.h tests/test-throttle.c +1 more+31 -130 replies
8/17throttle: Add support for burst periodsinclude/qemu/throttle.h util/throttle.c+96 -180 replies
9/17throttle: Add command-line settings to define the burst periodsblockdev.c+37 -00 replies
10/17qapi: Add burst length parameters to block_set_io_throttleblockdev.c hmp.c qapi/block-core.json +1 more+104 -152 replies
11/17qapi: Add burst length fields to BlockDeviceInfoblock/qapi.c qapi/block-core.json+53 -60 replies
12/17throttle: Check that burst_level leaks correctlytests/test-throttle.c+16 -00 replies
13/17throttle: Test throttle_compute_wait() during burststests/test-throttle.c+22 -00 replies
14/17qemu-iotests: Extend iotest 093 to test burststests/qemu-iotests/093 tests/qemu-iotests/093.out+53 -160 replies
15/17qapi: Correct the name of the iops_rd parameterqapi/block-core.json+1 -10 replies
16/17docs: Document the throttling infrastructuredocs/throttle.txt+252 -00 replies
17/17MAINTAINERS: Add myself as maintainer of the throttling codeMAINTAINERS+9 -00 replies

Reviews trailers per patch

12 of 17 patches have a Reviewed-by or Acked-by.

PatchKevin WolfStefan Hajnoczi
1/17R-b R-b
2/17R-b R-b
3/17R-b R-b
4/17R-b R-b
5/17R-b R-b
6/17R-b R-b
7/17R-b R-b
8/17R-b
9/17R-b
10/17
11/17R-b
12/17R-b
13/17R-b
14/17
15/17
16/17
17/17

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [Qemu-devel] [PATCH v2 00/17] throttle: Allow I/O bursts for a user-defined period of time

Hi,

here's a new version of the series that adds support for performing I/O bursts for a user-defined period of time. Please follow the link to the first version of the series for a complete description.

There are two important changes in this version:

a) The previous series was broken because the new parameters were missing from qmp-commands.hx. This is fixed now. [patch 10]
b) This series has new tests and documentation [patches 14 and 16]

I also added myself as maintainer of the throttling code [patch 17].

Regards,

Berto

v2:
- Patch 10: Add the new parameters to qmp-commands.hx
- Patch 14: New iotest for this feature
- Patch 15: Fix typo in the API documentation
- Patch 16: New document that explains the throttling infrastructure
- Patch 17: Add myself as maintainer of the throttling code

v1: https://lists.gnu.org/archive/html/qemu-block/2016-02/msg00210.html
- Initial version

Alberto Garcia (17):
throttle: Make throttle_compute_timer() static
throttle: Make throttle_conflicting() set errp
throttle: Make throttle_max_is_missing_limit() set errp
throttle: Make throttle_is_valid() set errp
throttle: Set always an average value when setting a maximum value
throttle: Merge all functions that check the configuration into one
throttle: Use throttle_config_init() to initialize ThrottleConfig
throttle: Add support for burst periods
throttle: Add command-line settings to define the burst periods
qapi: Add burst length parameters to block_set_io_throttle
qapi: Add burst length fields to BlockDeviceInfo
throttle: Check that burst_level leaks correctly
throttle: Test throttle_compute_wait() during bursts
qemu-iotests: Extend iotest 093 to test bursts
qapi: Correct the name of the iops_rd parameter
docs: Document the throttling infrastructure
MAINTAINERS: Add myself as maintainer of the throttling code

 MAINTAINERS                |   9 ++
 block/qapi.c               |  20 ++++
 blockdev.c                 |  99 +++++++++++++-----
 docs/throttle.txt          | 252 +++++++++++++++++++++++++++++++++++++++++++++
 hmp.c                      |  12 +++
 include/qemu/throttle.h    |  55 +++++++---
 qapi/block-core.json       |  92 ++++++++++++++---
 qmp-commands.hx            |  25 +++--
 tests/qemu-iotests/093     |  65 +++++++++---
 tests/qemu-iotests/093.out |   4 +-
 tests/test-throttle.c      |  88 ++++++++++++----
 util/throttle.c            | 132 ++++++++++++++++--------
 12 files changed, 708 insertions(+), 145 deletions(-)
 create mode 100644 docs/throttle.txt
Signature · 1 line
2.7.0