Re: [PATCHSET v2 block/for-5.8] iocost: improve use_delay and latency target handling

From: Pavel Begunkov
Date: Mon Apr 13 2020 - 14:50:24 EST


On 13/04/2020 20:08, Tejun Heo wrote:
> On Mon, Apr 13, 2020 at 08:00:29PM +0300, Pavel Begunkov wrote:
>> On 13/04/2020 19:56, Pavel Begunkov wrote:
>>> On 13/04/2020 19:27, Tejun Heo wrote:
>>>> Changes from v1[1]
>>>>
>>>> * Dropped 0002-block-add-request-io_data_len.patch and updated to use
>>>> rq->stats_sectors instead as suggested by Pavel Begunkov.
>>>
>>> rq->stats_sectors is set only when there is QUEUE_FLAG_STATS, see
>>> blk_mq_start_request(). I don't see blk-iocost requiring it. Did I miss something?
>>
>> And there is no reason to not initialise it unconditionally.
>
> The updated patch turns on accounting when iocost is enabled on a queue.

Great. FWIW, if you don't really need accounting, it'd be IMHO more robust and
with less overhead just to do this ->stats_sectors assignment unconditionally.

>
> @@ -2267,6 +2295,7 @@ static ssize_t ioc_qos_write(struct kernfs_open_file *of, char *input,
> spin_lock_irq(&ioc->lock);
>
> if (enable) {
> + blk_stat_enable_accounting(ioc->rqos.q);
> blk_queue_flag_set(QUEUE_FLAG_RQ_ALLOC_TIME, ioc->rqos.q);
> ioc->enabled = true;
> } else {
>
> Thanks.
>

--
Pavel Begunkov