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