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

From: Yu Kuai
Date: Sat Jul 09 2022 - 22:40:03 EST


Hi!

在 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.

Jens and Michal,

Can you receive this patchset normally(not end up in spam)?

If so, Tejun, can you take a look? This patchset do fix some problems in
blk-throttle.

BTW, Michal and Ming, it'll be great if you can take a look at other
patches as well.

Thansk,
Kuai

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(-)