mbox series

[-next,v5,0/8] bugfix and cleanup for blk-throttle

Message ID 20220528064330.3471000-1-yukuai3@huawei.com (mailing list archive)
Headers show
Series bugfix and cleanup for blk-throttle | expand

Message

Yu Kuai May 28, 2022, 6:43 a.m. UTC
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@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/

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 | 158 +++++++++++++++++++++++++++++--------------
 block/blk-throttle.h |  16 +++--
 2 files changed, 120 insertions(+), 54 deletions(-)

Comments

Yu Kuai June 2, 2022, 11:14 a.m. UTC | #1
在 2022/05/28 14:43, Yu Kuai 写道:
> 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.

friendly ping ...
> 
> 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/
> 
> 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 | 158 +++++++++++++++++++++++++++++--------------
>   block/blk-throttle.h |  16 +++--
>   2 files changed, 120 insertions(+), 54 deletions(-)
>
Yu Kuai June 9, 2022, 12:59 a.m. UTC | #2
在 2022/06/02 19:14, Yu Kuai 写道:
> 在 2022/05/28 14:43, Yu Kuai 写道:
>> 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.
> 
> friendly ping ...

friendly ping ...

I'll resend this patchset soon if there are still no response.

Thanks,
Kuai
>>
>> 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/
>>
>> 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 | 158 +++++++++++++++++++++++++++++--------------
>>   block/blk-throttle.h |  16 +++--
>>   2 files changed, 120 insertions(+), 54 deletions(-)
>>
Yu Kuai June 17, 2022, 1:15 a.m. UTC | #3
Hi, Tejun (and Ming, Michal)

Can you guys take a look at this patchset?

Thanks

在 2022/06/09 8:59, Yu Kuai 写道:
> 在 2022/06/02 19:14, Yu Kuai 写道:
>> 在 2022/05/28 14:43, Yu Kuai 写道:
>>> 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.
>>
>> friendly ping ...
> 
> friendly ping ...
> 
> I'll resend this patchset soon if there are still no response.
> 
> Thanks,
> Kuai
>>>
>>> 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/
>>>
>>> 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 | 158 +++++++++++++++++++++++++++++--------------
>>>   block/blk-throttle.h |  16 +++--
>>>   2 files changed, 120 insertions(+), 54 deletions(-)
>>>