> Il giorno 13 apr 2022, alle ore 13:12, Jan Kara <jack@xxxxxxx> ha scritto: > > 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? > I do see the benefits. My only concern is that then we also need to check/change the places that rely on the assumption that we would change. Thanks, Paolo > Honza > -- > Jan Kara <jack@xxxxxxxx> > SUSE Labs, CR