Re: [PATCH v2 2/4] block, bfq: do not idle if only one cgroup is activated

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux