All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Keith Busch <kbusch@kernel.org>
Cc: Christoph Hellwig <hch@lst.de>, Hannes Reinecke <hare@suse.de>,
	Sagi Grimberg <sagi@grimberg.me>,
	Nilay Shroff <nilay@linux.ibm.com>,
	John Meneghini <jmeneghi@redhat.com>,
	bmarzins@redhat.com, Bryan Gurney <bgurney@redhat.com>,
	linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org,
	Marco Patalano <mpatalan@redhat.com>,
	axboe@kernel.dk
Subject: Re: [PATCH] nvme: remove multipath module parameter
Date: Thu, 6 Mar 2025 01:03:48 +0100	[thread overview]
Message-ID: <20250306000348.GA1233@lst.de> (raw)
In-Reply-To: <Z8jk-D3EjEdyBIU5@kbusch-mbp>

On Wed, Mar 05, 2025 at 04:57:44PM -0700, Keith Busch wrote:
> > > Obviously he's not talking about multiported PCIe.
> > 
> > Why is that obvious?  
> 
> No one here would think a multiported device *wouldn't* report CMIC.

I hopes so.

> The
> fact Hannes thinks that's a questionable feature for his device gives
> away that it is single ported.

Well, his quote reads like he doesn't know about multiport PCIe devices.
But maybe he just meant to say "despite being single-ported"

> > At least based on the stated works he talks about
> > PCIe and not about multi-port.  The only not multiported devices I've
> > seen that report NMIC and CMIC are a specific firmware so that the
> > customer would get multipath behavior, which is a great workaround for
> > instable heavily switched fabrics.  Note that multiported isn't always
> > obvious as there are quite a few hacks using lane splitting around that
> > a normal host can't really see.
> 
> In my experience, it's left enabled because of SRIOV, which many of
> these devices end up shipping without supporting in PCI space anyway.

If a device supports SR-IO setting CMIC and NMIC is corret, but I've
actually seen surprisingly few production controllers actually supporting
SR-IOV despite what the datasheets say.

> 
> > > And he's right, the
> > > behavior of a PCIe hot plug is very different and often undesirable when
> > > it's under native multipath.
> > 
> > If you do actual hotplug and expect the device to go away it's indeed
> > not desirable.  If you want the same device to come back after switched
> > fabric issues it is so desirable that people hack to devices to get it.
> > People talked about adding a queue_if_no_path-like parameter to control
> > keeping the multipath node alive a lot, but no one has ever invested
> > work into actually implementing it.
> 
> Not quite the same thing, but kind of related: I proposed this device
> missing debounce thing about a year ago:
> 
> https://lore.kernel.org/linux-nvme/Y+1aKcQgbskA2tra@kbusch-mbp.dhcp.thefacebook.com/

Yes, that somehow fell off the cliff.


  reply	other threads:[~2025-03-06  1:18 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-04 21:11 [PATCH] nvme: remove multipath module parameter Bryan Gurney
2025-02-13 20:37 ` John Meneghini
2025-02-17  8:08   ` Sagi Grimberg
2025-02-17 16:14     ` John Meneghini
2025-02-18  8:19       ` Sagi Grimberg
2025-02-18 14:05         ` John Meneghini
2025-02-18 14:57           ` John Meneghini
2025-02-18 15:06   ` Keith Busch
2025-02-18 16:31     ` John Meneghini
2025-02-18 17:15       ` Keith Busch
2025-02-18 23:06         ` John Meneghini
2025-02-18 23:30           ` Keith Busch
2025-02-19 14:47         ` Nilay Shroff
2025-02-20 11:05           ` Sagi Grimberg
2025-02-20 16:47             ` Keith Busch
2025-02-26  9:55               ` Hannes Reinecke
2025-03-05 14:15                 ` Christoph Hellwig
2025-03-05 15:17                   ` Keith Busch
2025-03-05 23:51                     ` Christoph Hellwig
2025-03-05 23:57                       ` Keith Busch
2025-03-06  0:03                         ` Christoph Hellwig [this message]
2025-03-06  0:15                           ` Keith Busch
2025-03-06  7:12                           ` Hannes Reinecke
2025-03-06 14:18                             ` Christoph Hellwig
2025-03-06 15:01                               ` Keith Busch
2025-03-06 15:16                                 ` Christoph Hellwig
2025-03-07  0:46                                   ` Keith Busch
2025-03-07 15:19                                     ` Nilay Shroff
2025-03-07 15:43                                       ` Keith Busch
2025-03-09 17:23                                         ` Nilay Shroff
2025-03-10 13:29                                           ` Christoph Hellwig
2025-03-12  3:47                                           ` John Meneghini
2025-03-12 15:26                                             ` Nilay Shroff
2025-03-10 13:28                                     ` Christoph Hellwig
2025-03-12  3:08                 ` John Meneghini
2025-02-18 14:26 ` John Meneghini
2025-02-18 16:41   ` John Meneghini
2025-02-18 14:43 ` John Meneghini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250306000348.GA1233@lst.de \
    --to=hch@lst.de \
    --cc=axboe@kernel.dk \
    --cc=bgurney@redhat.com \
    --cc=bmarzins@redhat.com \
    --cc=hare@suse.de \
    --cc=jmeneghi@redhat.com \
    --cc=kbusch@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=mpatalan@redhat.com \
    --cc=nilay@linux.ibm.com \
    --cc=sagi@grimberg.me \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.