Re: [PATCH block-5.17] block: don't merge across cgroup boundaries if iocost or iolatency is active

From: Tejun Heo
Date: Mon Mar 14 2022 - 16:42:03 EST


On Mon, Mar 14, 2022 at 02:12:34PM -0600, Jens Axboe wrote:
> > * Add WARN_ON_ONCE() on blkg mismatch in ioc_rqos_merge() so that we can
> > easily notice similar failures in the future.
> >
> > * Make sure iocost enable/disable transitions only happen when iocost is
> > actually enabled / disabled.
>
> Is there really no better way to do this than add a lot of expensive
> checks to the fast path?
>
> Even just inverting the checks so that
>
> if (req->bio->bi_blkg != bio->bi_blkg)
> ...
>
> is checked first would seem a lot saner.
>
> In any case, since this isn't a new regression, I'd feel a lot better
> deferring it to 5.18.

As discussed, the only risk of removing the disable/enable switch and always
testing is ruining some merges for cases where blkcg is enabled but no
control is applied, which shouldn't be a big problem. I'll redo the patch.

Thanks.

--
tejun