Re: [PATCH rfc] nvme: support io stats on the mpath device

Sagi Grimberg
2022-10-03T09:39:55Z

On 10/3/22 11:02, Sagi Grimberg wrote:
>
>>>>>> 3. Do you have some performance numbers (we're touching the fast path
>>>>>> here) ?
>>>>>
>>>>> This is pretty light-weight, accounting is per-cpu and only wrapped by
>>>>> preemption disable. This is a very small price to pay for what we
>>>>> gain.
>>>>
>>>> It does add up, though, and some environments disable stats to skip the
>>>> overhead. At a minimum, you need to add a check for
>>>> blk_queue_io_stat() before
>>>> assuming you need to account for stats.
>>>
>>> But QUEUE_FLAG_IO_STAT is set by nvme-mpath itself?
>>> You mean disable IO stats in runtime?
>>
>> Yes, the user can disable it at any time. That actually makes things a
>> bit
>> tricky since it can be enabled at the start of an IO and disabled by
>> the time
>> it completes.
>
> That is what blk_do_io_stat is for, we can definitely export that.

Actually, blk_do_io_stat refers to the bottom request queue. you're
right, we can do the same trick for nvme.