Re: [PATCH v9 0/4] blk-throttle bugfix

From: Yu Kuai
Date: Wed Aug 31 2022 - 07:32:15 EST


Hi, Jens!

在 2022/08/29 10:22, Yu Kuai 写道:
From: Yu Kuai <yukuai3@xxxxxxxxxx>

Changes in v9:
- renaming the flag BIO_THROTTLED to BIO_BPS_THROTTLED, and always
apply iops limit in path 1;
- add tag for patch 4
Changes in v8:
- use a new solution in patch 1
- move cleanups to a separate patchset
- rename bytes/io_skipped to carryover_bytes/ios in patch 4
Changes in v7:
- add patch 5 to improve handling of re-entered bio for bps limit
- as suggested by Tejun, add some comments
- sdd some Acked tag by Tejun
Changes in v6:
- rename parameter in patch 3
- add comments and reviewed tag for patch 4
Changes in v5:
- add comments in patch 4
- clear bytes/io_skipped in throtl_start_new_slice_with_credit() in
patch 4
- and cleanup patches 5-8
Changes in v4:
- add reviewed-by tag for patch 1
- add patch 2,3
- use a different way to fix io hung in patch 4
Changes in v3:
- fix a check in patch 1
- fix link err in patch 2 on 32-bit platform
- handle overflow in patch 2
Changes in v2:
- use a new solution suggested by Ming
- change the title of patch 1
- add patch 2

Patch 1 fix that blk-throttle can't work if multiple bios are throttle.
Patch 2 fix overflow while calculating wait time.
Patch 3,4 fix io hung due to configuration updates.

Previous version:
v1: https://lore.kernel.org/all/20220517134909.2910251-1-yukuai3@xxxxxxxxxx/
v2: https://lore.kernel.org/all/20220518072751.1188163-1-yukuai3@xxxxxxxxxx/
v3: https://lore.kernel.org/all/20220519085811.879097-1-yukuai3@xxxxxxxxxx/
v4: https://lore.kernel.org/all/20220523082633.2324980-1-yukuai3@xxxxxxxxxx/
v5: https://lore.kernel.org/all/20220528064330.3471000-1-yukuai3@xxxxxxxxxx/
v6: https://lore.kernel.org/all/20220701093441.885741-1-yukuai1@xxxxxxxxxxxxxxx/
v7: https://lore.kernel.org/all/20220802140415.2960284-1-yukuai1@xxxxxxxxxxxxxxx/
v8: https://lore.kernel.org/all/20220823033130.874230-1-yukuai1@xxxxxxxxxxxxxxx/

Yu Kuai (4):
blk-throttle: fix that io throttle can only work for single bio
blk-throttle: prevent overflow while calculating wait time
blk-throttle: factor out code to calculate ios/bytes_allowed
blk-throttle: fix io hung due to configuration updates

Can you apply this patchset now?

Thanks,
Kuai

block/bio.c | 2 -
block/blk-throttle.c | 137 +++++++++++++++++++++++++-------------
block/blk-throttle.h | 11 ++-
include/linux/bio.h | 2 +-
include/linux/blk_types.h | 2 +-
5 files changed, 104 insertions(+), 50 deletions(-)