Re: [PATCH -next 2/2] blk-throttle: fix lower control under super low iops limit

From: Tejun Heo
Date: Thu Jun 13 2024 - 18:32:17 EST


Hello,

On Mon, May 13, 2024 at 08:08:48PM +0800, Yu Kuai wrote:
...
> However, if limit is quite low, the result can be 0, then
> allowed IO in the slice is 0, this will cause missing dispatch and
> control will be lower than limit.
>
> For example, set iops_limit to 5 with HD disk, and test will found that
> iops will be 3.

Hmm... can't this be solved by starting the next slice with the right
credit?

> static unsigned int tg_throtl_slice(struct throtl_grp *tg, int rw)
> {
> + if (tg->throtl_slice[rw])
> + return tg->throtl_slice[rw];
> return tg->td->throtl_slice;

Because this is a bit nasty. If we want to use difference throttling slices
for different cgroups, we might as well do it universally.

Thanks.

--
tejun