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

Sagi Grimberg
2022-10-03T08:36:02Z

>>>>> 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.