mbox series

[v9,0/4] blk-throttle bugfix

Message ID 20220829022240.3348319-1-yukuai1@huaweicloud.com (mailing list archive)
Headers show
Series blk-throttle bugfix | expand

Message

Yu Kuai Aug. 29, 2022, 2:22 a.m. UTC
From: Yu Kuai <yukuai3@huawei.com>

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@huawei.com/
v2: https://lore.kernel.org/all/20220518072751.1188163-1-yukuai3@huawei.com/
v3: https://lore.kernel.org/all/20220519085811.879097-1-yukuai3@huawei.com/
v4: https://lore.kernel.org/all/20220523082633.2324980-1-yukuai3@huawei.com/
v5: https://lore.kernel.org/all/20220528064330.3471000-1-yukuai3@huawei.com/
v6: https://lore.kernel.org/all/20220701093441.885741-1-yukuai1@huaweicloud.com/
v7: https://lore.kernel.org/all/20220802140415.2960284-1-yukuai1@huaweicloud.com/
v8: https://lore.kernel.org/all/20220823033130.874230-1-yukuai1@huaweicloud.com/

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

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

Comments

Yu Kuai Aug. 31, 2022, 11:31 a.m. UTC | #1
Hi, Jens!

在 2022/08/29 10:22, Yu Kuai 写道:
> From: Yu Kuai <yukuai3@huawei.com>
> 
> 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@huawei.com/
> v2: https://lore.kernel.org/all/20220518072751.1188163-1-yukuai3@huawei.com/
> v3: https://lore.kernel.org/all/20220519085811.879097-1-yukuai3@huawei.com/
> v4: https://lore.kernel.org/all/20220523082633.2324980-1-yukuai3@huawei.com/
> v5: https://lore.kernel.org/all/20220528064330.3471000-1-yukuai3@huawei.com/
> v6: https://lore.kernel.org/all/20220701093441.885741-1-yukuai1@huaweicloud.com/
> v7: https://lore.kernel.org/all/20220802140415.2960284-1-yukuai1@huaweicloud.com/
> v8: https://lore.kernel.org/all/20220823033130.874230-1-yukuai1@huaweicloud.com/
> 
> 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(-)
>
Yu Kuai Sept. 12, 2022, 6:13 a.m. UTC | #2
在 2022/08/31 19:31, Yu Kuai 写道:
> Hi, Jens!
> 
> 在 2022/08/29 10:22, Yu Kuai 写道:
>> From: Yu Kuai <yukuai3@huawei.com>
>>
>> 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@huawei.com/
>> v2: 
>> https://lore.kernel.org/all/20220518072751.1188163-1-yukuai3@huawei.com/
>> v3: 
>> https://lore.kernel.org/all/20220519085811.879097-1-yukuai3@huawei.com/
>> v4: 
>> https://lore.kernel.org/all/20220523082633.2324980-1-yukuai3@huawei.com/
>> v5: 
>> https://lore.kernel.org/all/20220528064330.3471000-1-yukuai3@huawei.com/
>> v6: 
>> https://lore.kernel.org/all/20220701093441.885741-1-yukuai1@huaweicloud.com/ 
>>
>> v7: 
>> https://lore.kernel.org/all/20220802140415.2960284-1-yukuai1@huaweicloud.com/ 
>>
>> v8: 
>> https://lore.kernel.org/all/20220823033130.874230-1-yukuai1@huaweicloud.com/ 
>>
>>
>> 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?

friendly ping...
> 
> 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(-)
>>
> 
> .
>
Jens Axboe Sept. 12, 2022, 6:20 a.m. UTC | #3
On Mon, 29 Aug 2022 10:22:36 +0800, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@huawei.com>
> 
> 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
> 
> [...]

Applied, thanks!

[1/4] blk-throttle: fix that io throttle can only work for single bio
      commit: 320fb0f91e55ba248d4bad106b408e59099cfa89
[2/4] blk-throttle: prevent overflow while calculating wait time
      commit: 8d6bbaada2e0a65f9012ac4c2506460160e7237a
[3/4] blk-throttle: factor out code to calculate ios/bytes_allowed
      commit: 681cd46fff8cd81e387747c7850f2e730d3e0b74
[4/4] blk-throttle: fix io hung due to configuration updates
      commit: a880ae93e5b5bb5d8d5500077a391e3f5ec7715c

Best regards,