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