Re: [PATCH 3/3] nvme-multipath: add "use_nonoptimized" module option

Ewan Milne
2023-09-27T13:45:23Z

Yes, you are probably right.

I added this patch because what I found was that, for arrays I was using,
the nonoptimized paths had almost the same characteristics as the optimized
paths for some workloads. They had a small amount of additional latency.

And, it is helpful to have paths available with slightly different performance
in order to experiment with the behavior of different path selectors.

I'm OK with omitting this patch but I wanted people to see how it could be done.

-Ewan

On Wed, Sep 27, 2023 at 3:41 AM Hannes Reinecke <hare@suse.de> wrote:
>
> On 9/25/23 18:31, Ewan D. Milne wrote:
> > Setting nvme_core.use_nonoptimized=true will cause the path
> > selector to treat optimized and nonoptimized paths equally.
> >
> > This is because although an NVMe fabrics target device may report
> > an unoptimized ANA state, it is possible that other factors such
> > as fabric latency are a large factor in the I/O service time. And,
> > throughput may improve overall if nonoptimized ports are also used.
> >
> > Signed-off-by: Ewan D. Milne <emilne@redhat.com>
> > ---
> > drivers/nvme/host/multipath.c | 22 +++++++++++++++++++---
> > 1 file changed, 19 insertions(+), 3 deletions(-)
> >
> No. Please don't.
>
> There's a reason why controllers specify paths as 'active/optimized' or
> 'active/non-optimized'. If they had wanted us to use all paths they
> would have put them into the same group.
> They tend to get very unhappy if you start using them at the same time.
> (Triggering failover etc.)
>
> Cheers,
>
> Hannes
> --
> Dr. Hannes Reinecke Kernel Storage Architect
> hare@suse.de +49 911 74053 688
> SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
> HRB 36809 (AG Nürnberg), Geschäftsführer: Ivo Totev, Andrew
> Myers, Andrew McDonald, Martje Boudien Moerman
>