Re: [PATCH -next 00/11] support concurrent sync io for bfq on a specail occasion

From: Jan Kara
Date: Wed Apr 13 2022 - 07:12:23 EST


On Sat 05-03-22 17:11:54, Yu Kuai wrote:
> Currently, bfq can't handle sync io concurrently as long as they
> are not issued from root group. This is because
> 'bfqd->num_groups_with_pending_reqs > 0' is always true in
> bfq_asymmetric_scenario().
>
> This patchset tries to support concurrent sync io if all the sync ios
> are issued from the same cgroup:
>
> 1) Count root_group into 'num_groups_with_pending_reqs', patch 1-5;

Seeing the complications and special casing for root_group I wonder: Won't
we be better off to create fake bfq_sched_data in bfq_data and point
root_group->sched_data there? AFAICS it would simplify the code
considerably as root_group would be just another bfq_group, no need to
special case it in various places, no games with bfqg->my_entity, etc.
Paolo, do you see any problem with that?

Honza
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR