[PATCH v5 0/9] Misc fixes for throttle

zhenwei pi posted 9 patches 9 months, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230728022006.1098509-1-pizhenwei@bytedance.com
Maintainers: "Gonglei (Arei)" <arei.gonglei@huawei.com>, Zhenwei Pi <pizhenwei@bytedance.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Alberto Garcia <berto@igalia.com>, Greg Kurz <groug@kaod.org>, Christian Schoenebeck <qemu_oss@crudebyte.com>
backends/cryptodev.c            |  12 +--
block/block-backend.c           |   4 +-
block/throttle-groups.c         | 163 ++++++++++++++++----------------
block/throttle.c                |   8 +-
fsdev/qemu-fsdev-throttle.c     |  18 ++--
fsdev/qemu-fsdev-throttle.h     |   4 +-
hw/9pfs/cofile.c                |   4 +-
include/block/throttle-groups.h |   6 +-
include/qemu/throttle.h         |  16 +++-
tests/unit/test-throttle.c      |  76 ++++++++++++++-
util/throttle.c                 |  84 +++++++++-------
11 files changed, 246 insertions(+), 149 deletions(-)
[PATCH v5 0/9] Misc fixes for throttle
Posted by zhenwei pi 9 months, 1 week ago
v4 -> v5:
- typo fix in 'throttle: use enum ThrottleDirection instead of bool is_write':
  '@throttle:   throttle direction' -> '@direction:   throttle direction'
- several 'for (i = 0; i < 2; i++)' left, use
  'for (dir = THROTTLE_READ; dir < THROTTLE_MAX; dir++)' instead.
  'true/false' left, use 'THROTTLE_XXX' instead.

v3 -> v4:
- Hanna pointed out that 'throttle type' is not clear enough,
  'throttle direction' would be better in the v3.
  Use 'ThrottleDirection' instead, also rename 'ThrottleType throttle' to 'ThrottleDirection direction'.

- For patch 'throttle: support read-only and write-only', reduce codes by:
for (dir = THROTTLE_READ; dir < THROTTLE_MAX; dir++) {
    ...
}

- Add commit message for the removed 'FIXME' tag.

- Append 'throttle: use THROTTLE_MAX/ARRAY_SIZE for hard code'
- Append 'fsdev: Use ThrottleDirection instread of bool is_write'
- Append 'block/throttle-groups: Use ThrottleDirection instread of bool is_write'

Finally, 'bool is_write' has been fully removed from throttle related codes,
'type foo[2]' becomes 'type foo[THROTTLE_MAX]'.

v2 -> v3:
- patch 1 -> patch 5 are already reviewed by Alberto
- append patch 6: throttle: use enum ThrottleType instead of bool is_write

v1 -> v2:
- rename 'ThrottleTimerType' to 'ThrottleType'
- add assertion to throttle_schedule_timer

v1:
- introduce enum ThrottleTimerType instead of timers[0], timer[1]...
- support read-only and write-only for throttle
- adapt related test codes
- cryptodev uses a write-only throttle timer

Zhenwei Pi (9):
  throttle: introduce enum ThrottleDirection
  test-throttle: use enum ThrottleDirection
  throttle: support read-only and write-only
  test-throttle: test read only and write only
  cryptodev: use NULL throttle timer cb for read direction
  throttle: use enum ThrottleDirection instead of bool is_write
  throttle: use THROTTLE_MAX/ARRAY_SIZE for hard code
  fsdev: Use ThrottleDirection instread of bool is_write
  block/throttle-groups: Use ThrottleDirection instread of bool is_write

 backends/cryptodev.c            |  12 +--
 block/block-backend.c           |   4 +-
 block/throttle-groups.c         | 163 ++++++++++++++++----------------
 block/throttle.c                |   8 +-
 fsdev/qemu-fsdev-throttle.c     |  18 ++--
 fsdev/qemu-fsdev-throttle.h     |   4 +-
 hw/9pfs/cofile.c                |   4 +-
 include/block/throttle-groups.h |   6 +-
 include/qemu/throttle.h         |  16 +++-
 tests/unit/test-throttle.c      |  76 ++++++++++++++-
 util/throttle.c                 |  84 +++++++++-------
 11 files changed, 246 insertions(+), 149 deletions(-)

-- 
2.34.1
Re: [PATCH v5 0/9] Misc fixes for throttle
Posted by Hanna Czenczek 8 months, 1 week ago
On 28.07.23 04:19, zhenwei pi wrote:

[...]

> Zhenwei Pi (9):
>    throttle: introduce enum ThrottleDirection
>    test-throttle: use enum ThrottleDirection
>    throttle: support read-only and write-only
>    test-throttle: test read only and write only
>    cryptodev: use NULL throttle timer cb for read direction
>    throttle: use enum ThrottleDirection instead of bool is_write
>    throttle: use THROTTLE_MAX/ARRAY_SIZE for hard code
>    fsdev: Use ThrottleDirection instread of bool is_write
>    block/throttle-groups: Use ThrottleDirection instread of bool is_write

Thanks, applied to my block branch:

https://gitlab.com/hreitz/qemu/-/commits/block

Hanna