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

Keith Busch
2022-09-30T15:21:34Z

On Thu, Sep 29, 2022 at 07:14:23PM +0300, 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.
> >
> > Instead of duplicating the accounting, could you just have the stats file report
> > the sum of its hidden devices?
>
> Interesting...
>
> How do you suggest we do that? .collect_stats() callout in fops?

Maybe, yeah. I think we'd need something to enumerate the HIDDEN disks that
make up the multipath device. Only the low-level driver can do that right now,
so perhaps either call into the driver to get all the block_device parts, or
the gendisk needs to maintain a list of those parts itself.