Messages in this thread | | | Subject | Re: [PATCH v2 2/4] block, bfq: do not idle if only one cgroup is activated | From | "yukuai (C)" <> | Date | Thu, 2 Sep 2021 21:31:26 +0800 |
| |
On 2021/08/27 1:00, Paolo Valente wrote: > > Why do you make these extensive changes, while you can leave all the > function unchanged and just modify the above condition to something > like > > || bfqd->num_groups_with_pending_reqs > 1 > || (bfqd->num_groups_with_pending_reqs && bfqd->num_queues_with_pending_reqs_in_root)
Hi, Paolo
I was thinking that if CONFIG_BFQ_GROUP_IOSCHED is enabled, there is no need to caculate smallest_weight, varied_queue_weights, and multiple_classes_busy:
If we count root group into num_groups_with_pending_reqs - If num_groups_with_pending_reqs <= 1, idle is not needed - If num_groups_with_pending_reqs > 1, idle is needed
Thus such changes can save some additional overhead.
Thanks Yu Kuai
> > In addition, I still wonder whether you can simply add also the root > group to bfqd->num_groups_with_pending_reqs (when the root group is > active). This would make the design much cleaner. > > Thanks, > Paolo > >> -#endif >> - ; >> + return varied_queue_weights || multiple_classes_busy; >> } >> >> /* >> -- >> 2.31.1 >> > > . >
| |