Re: [PATCH RESEND v6 0/8] bugfix and cleanup for blk-throttle

From: Yu Kuai
Date: Wed Jul 27 2022 - 08:12:34 EST


Hi, Tejun

Are you still interested in this patchset?

在 2022/07/01 17:34, Yu Kuai 写道:
From: Yu Kuai <yukuai3@xxxxxxxxxx>

Resend v5 by a new mail address(huaweicloud.com) because old
address(huawei.com)has some problem that emails can end up in spam.
Please let me know if anyone still see this patchset end up in spam.

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.
Patch 5-8 are cleanup patches, there are no functional changes, just
some places that I think can be optimized during code review.

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/

Yu Kuai (8):
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 config updates
blk-throttle: use 'READ/WRITE' instead of '0/1'
blk-throttle: calling throtl_dequeue/enqueue_tg in pairs
blk-throttle: cleanup tg_update_disptime()
blk-throttle: clean up flag 'THROTL_TG_PENDING'

block/blk-throttle.c | 168 +++++++++++++++++++++++++++++--------------
block/blk-throttle.h | 16 +++--
2 files changed, 128 insertions(+), 56 deletions(-)