lkml.org 
[lkml]   [2021]   [Sep]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2 2/4] block, bfq: do not idle if only one cgroup is activated
From
Date


> Il giorno 2 set 2021, alle ore 15:31, yukuai (C) <yukuai3@huawei.com> ha scritto:
>
> 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

Unfortunately, if active queues have different weights or belong to
different classes, then idling is needed to preserve per-queue
bandwidths.

Thanks,
Paolo

> - 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
>>>
>> .

\
 
 \ /
  Last update: 2021-09-07 11:11    [W:0.087 / U:1.256 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site