[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4048cc0c-adc8-8097-4a40-762137c4c282@huawei.com>
Date: Mon, 25 Apr 2022 21:55:46 +0800
From: "yukuai (C)" <yukuai3@...wei.com>
To: Jan Kara <jack@...e.cz>
CC: <paolo.valente@...aro.org>, <axboe@...nel.dk>, <tj@...nel.org>,
<linux-block@...r.kernel.org>, <cgroups@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <yi.zhang@...wei.com>
Subject: Re: [PATCH -next v2 2/5] block, bfq: add fake weight_counter for
weight-raised queue
在 2022/04/25 21:34, yukuai (C) 写道:
> 在 2022/04/25 17:48, Jan Kara 写道:
>> On Sat 16-04-22 17:37:50, Yu Kuai wrote:
>>> Weight-raised queue is not inserted to weights_tree, which makes it
>>> impossible to track how many queues have pending requests through
>>> weights_tree insertion and removel. This patch add fake weight_counter
>>> for weight-raised queue to do that.
>>>
>>> Signed-off-by: Yu Kuai <yukuai3@...wei.com>
>>
>> This is a bit hacky. I was looking into a better place where to hook to
>> count entities in a bfq_group with requests and I think
>> bfq_add_bfqq_busy()
>> and bfq_del_bfqq_busy() are ideal for this. It also makes better sense
>> conceptually than hooking into weights tree handling.
>>
> Hi,
>
> bfq_del_bfqq_busy() will be called when all the reqs in the bfqq are
> dispatched, however there might still some reqs are't completed yet.
>
> Here what we want to track is how many bfqqs have pending reqs,
> specifically if the bfqq have reqs are't complted.
>
> Thus I think bfq_del_bfqq_busy() is not the right place to do that.
BTW, there is a counter 'dispatched' in bfqq, how about we rename it
to 'inflight', and inc when adding req to bfqq, dec the same as
'dispatched' ?
This way we can count bfqq when adding 'inflight' from 0 to 1, and
stop when decreasing 'inflight' from 1 to 0.
Powered by blists - more mailing lists