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