[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <F1ADC992-11AE-4511-9033-D233CBCA6F26@linaro.org>
Date: Tue, 7 Sep 2021 11:10:02 +0200
From: Paolo Valente <paolo.valente@...aro.org>
To: "yukuai (C)" <yukuai3@...wei.com>
Cc: Jens Axboe <axboe@...nel.dk>,
linux-block <linux-block@...r.kernel.org>,
linux-kernel@...r.kernel.org, yi.zhang@...wei.com
Subject: Re: [PATCH v2 2/4] block, bfq: do not idle if only one cgroup is
activated
> Il giorno 2 set 2021, alle ore 15:31, yukuai (C) <yukuai3@...wei.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
>>>
>> .
Powered by blists - more mailing lists