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

Sagi Grimberg sagi at grimberg.me
Mon Oct 3 02:32:34 PDT 2022



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.



More information about the Linux-nvme mailing list