Re: [PATCH -next v5 4/8] blk-throttle: fix io hung due to config updates

From: Michal Koutný
Date: Thu Jun 23 2022 - 12:26:27 EST


On Thu, Jun 23, 2022 at 08:27:11PM +0800, Yu Kuai <yukuai3@xxxxxxxxxx> wrote:
> > Here we may allow to dispatch a bio above current slice's
> > calculate_bytes_allowed() if bytes_skipped is already >0.
>
> Hi, I don't expect that to happen. For example, if a bio is still
> throttled, then old slice is keeped with proper 'bytes_skipped',
> then new wait time is caculated based on (bio_size - bytes_skipped).
>
> After the bio is dispatched(I assum that other bios can't preempt),

With this assumptions it adds up as you write. I believe we're in
agreement.

It's the same assumption I made below (FIFO everywhere, i.e. no
reordering). So the discussed difference shouldn't really be negative
(and if the assumption didn't hold, so the modular arithmetic yields
corerct bytes_skipped value).

Michal