From: Nilay Shroff <nilay@linux.ibm.com>
To: Keith Busch <kbusch@kernel.org>
Cc: Christoph Hellwig <hch@lst.de>, Hannes Reinecke <hare@suse.de>,
Sagi Grimberg <sagi@grimberg.me>,
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: Sun, 9 Mar 2025 22:53:19 +0530 [thread overview]
Message-ID: <69cdaf9d-2fb4-4ee0-9c32-cc946405a23a@linux.ibm.com> (raw)
In-Reply-To: <Z8sUB2bbbMsurZmu@kbusch-mbp>
On 3/7/25 9:13 PM, Keith Busch wrote:
> On Fri, Mar 07, 2025 at 08:49:09PM +0530, Nilay Shroff wrote:
>> On 3/7/25 6:16 AM, Keith Busch wrote:
>> I think always creating multipath head node even for the disk which doesn't
>> have CMIC/NMIC capability should be useful. That way, we may then be able
>> to remove multipath module parameter? In fact, you already mentioned about
>> it in one of your previous message. I see two approaches (one of them you
>> proposed and another one Christoph proposed:
>> https://lore.kernel.org/linux-nvme/Y+1aKcQgbskA2tra@kbusch-mbp.dhcp.thefacebook.com/).
>>
>> Maybe in first cut we should create multipath head disk node always for
>> single/multi ported NVMe disk. Later we may enhance it and allow pinning the
>> head node for hotplug events so that head node dev name remains consistent
>> across disk add/remove hotplug events.
>
> It honestly has potential to solve some real problems, like
> re-enumeration triggered by a link reset on an in-use drive. You'd
> currently need to close the old handle and open a new on, even though
> it's the same device. It may not even be possible to do that if that
> device contains your root partition, and then you can only power cycle.
>
> The downside is we wouldn't get the short cut to blk_mq_submit_bio. We'd
> instead stack that atop an indirect call, so it's not free.
>
Yes agreed however it seems advantages of using an indirect call outweighs
using the short cut to blk_mq_submit_bio. Moreover it seems the cost of
indirect call is trivial because we already cache the nexthop.
I integrated your proposed patch (with few trivial additional changes on top)
and I see that it's coming out nicely. I ran few tests and confirmed it's
working well. However, in the proposed patch we *always* delay (~10 sec) the
removal of multipath head node. That means that even while removing the
nvme module (rmmod nvme) or if user delete/detache the namespace, we delay
the removal of head node but that may not be what we want. So I'd suggest
instead, delayed removal of multipath head not shall be configurable using a
sysfs attribute. With this attribute then we shall let user opt for pinning
the head node (with optional delayed time as well?). And it's only when user
shows the intent to pin the node we should delay its removal. This is what
exactly (pinning of head node) Christoph's proposed patch implements. So I'd
suggest a bit of amalgamation of yours as well as Christoph patch to implement
this change.
If you and Christoph are busy with other work then in that case I'll be glad
to pursue this further if you agree.
Thanks,
--Nilay
next prev parent reply other threads:[~2025-03-09 17:23 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
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 [this message]
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=69cdaf9d-2fb4-4ee0-9c32-cc946405a23a@linux.ibm.com \
--to=nilay@linux.ibm.com \
--cc=axboe@kernel.dk \
--cc=bgurney@redhat.com \
--cc=bmarzins@redhat.com \
--cc=hare@suse.de \
--cc=hch@lst.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=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox