linux-nvme.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: snitzer@redhat.com (Mike Snitzer)
Subject: [PATCH 0/3] Provide more fine grained control over multipathing
Date: Wed, 30 May 2018 15:59:42 -0400	[thread overview]
Message-ID: <20180530195942.GC6568@redhat.com> (raw)
In-Reply-To: <f4951571-d37d-73cd-1d6c-0ca84647d5ac@kernel.dk>

On Wed, May 30 2018 at  3:05pm -0400,
Jens Axboe <axboe@kernel.dk> wrote:

> On 5/29/18 5:27 PM, Mike Snitzer wrote:
> > On Tue, May 29 2018 at  4:09am -0400,
> > Christoph Hellwig <hch@lst.de> wrote:
> > 
> >> On Tue, May 29, 2018@09:22:40AM +0200, Johannes Thumshirn wrote:
> >>> For a "Plan B" we can still use the global knob that's already in
> >>> place (even if this reminds me so much about scsi-mq which at least we
> >>> haven't turned on in fear of performance regressions).
> >>>
> >>> Let's drop the discussion here, I don't think it leads to something
> >>> else than flamewars.
> >>
> >> If our plan A doesn't work we can go back to these patches.  For now
> >> I'd rather have everyone spend their time on making Plan A work then
> >> preparing for contingencies.  Nothing prevents anyone from using these
> >> patches already out there if they really want to, but I'd recommend
> >> people are very careful about doing so as you'll lock yourself into
> >> a long-term maintainance burden.
> > 
> > Restating (for others): this patchset really isn't about contingencies.
> > It is about choice.
> > 
> > Since we're at an impasse, in the hopes of soliciting definitive
> > feedback from Jens and Linus, I'm going to attempt to reset the
> > discussion for their entry.
> > 
> > In summary, we have a classic example of a maintainer stalemate here:
> > 1) Christoph, as NVMe co-maintainer, doesn't want to allow native NVMe
> >    multipath to actively coexist with dm-multipath's NVMe support on the
> >    same host.
> > 2) I, as DM maintainer, would like to offer this flexibility to users --
> >    by giving them opt-in choice to continue using existing dm-multipath
> >    with NVMe. (also, both Red Hat and SUSE would like to offer this).
> > 
> > There is no technical reason why they cannot coexist.  Hence this simple
> > patchset that was originally offered by Johannes Thumshirn with
> > contributions from myself.
> 
> Here's what I think - flag days tend to suck. They may be more convenient
> for developers, but they inflict pain on users. Sometimes they prevent
> them from moving forward, since updates are now gated on external
> dependencies. Moving forward with a new architecture is great, but
> proper care has to be given to existing users of multipath, regardless
> of how few they may be.

As I mentioned at the end of my summary (and in my first reply to this
0th header): it is on the "other" multipath toolchain to deal with
switching from "native" to "other" (by writing to 'mpath_personality').
For dm-multipath, it is multipathd that would trigger the switch from
"native" to "other" iff user opts-in by configuring multipath.conf to
own a particular NVMe subsystem's multipathing.

So users very likely won't ever have a need to write to
'mpath_personality'.  And as such, they'll just default to using
"native" NVMe multipath.

> This patchset seems pretty clean and minimalist. Realistically, I'm
> guessing that SUSE and RH will ship it regardless of upstream status.

TBD really.  We are keen to enable CONFIG_NVME_MULTIPATH to allow users
to use native (as the default!).  But we won't be able to do that unless
we have this patchset.  Because we really do _need_ to give our users
the option of continuing to use dm-multipath.

And as the Red Hat employee who would have to port it to each kernel (as
long as there is a need): _please_ don't make me do that.

PLEASE! ;)

Mike

  reply	other threads:[~2018-05-30 19:59 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-25 12:53 [PATCH 0/3] Provide more fine grained control over multipathing Johannes Thumshirn
2018-05-25 12:53 ` [PATCH 1/3] nvme: provide a way to disable nvme mpath per subsystem Johannes Thumshirn
2018-05-25 13:47   ` Mike Snitzer
2018-05-31  8:17   ` Sagi Grimberg
2018-05-25 12:53 ` [PATCH 2/3] nvme multipath: added SUBSYS_ATTR_RW Johannes Thumshirn
2018-05-25 12:53 ` [PATCH 3/3] nvme multipath: add dev_attr_mpath_personality Johannes Thumshirn
2018-05-25 13:05 ` [PATCH 0/3] Provide more fine grained control over multipathing Christoph Hellwig
2018-05-25 13:58   ` Mike Snitzer
2018-05-25 14:12     ` Christoph Hellwig
2018-05-25 14:50       ` Mike Snitzer
2018-05-29  1:19         ` Martin K. Petersen
2018-05-29  3:02           ` Mike Snitzer
2018-05-29  7:18             ` Hannes Reinecke
2018-05-29  7:22             ` Johannes Thumshirn
2018-05-29  8:09               ` Christoph Hellwig
2018-05-29  9:54                 ` Mike Snitzer
2018-05-29 23:27                 ` Mike Snitzer
2018-05-30 19:05                   ` Jens Axboe
2018-05-30 19:59                     ` Mike Snitzer [this message]
2018-06-04  6:19                     ` Hannes Reinecke
2018-06-04  7:18                       ` Johannes Thumshirn
2018-06-04 12:59                         ` Christoph Hellwig
2018-06-04 13:27                           ` Mike Snitzer
2018-05-31  2:42               ` Ming Lei
2018-05-30 21:20     ` Sagi Grimberg
2018-05-30 22:02       ` Mike Snitzer
2018-05-31  8:37         ` Sagi Grimberg
2018-05-31 12:37           ` Mike Snitzer
2018-05-31 16:34             ` Christoph Hellwig
2018-06-01  4:11               ` Mike Snitzer
2018-05-31 16:36           ` Christoph Hellwig
2018-05-31 16:33         ` Christoph Hellwig
2018-05-31 18:17           ` Mike Snitzer
2018-06-01  2:40             ` Martin K. Petersen
2018-06-01  4:24               ` Mike Snitzer
2018-06-01 14:09                 ` Martin K. Petersen
2018-06-01 15:21                   ` Mike Snitzer
2018-06-03 11:00                 ` Sagi Grimberg
2018-06-03 16:06                   ` Mike Snitzer
2018-06-04 11:46                     ` Sagi Grimberg
2018-06-04 12:48                       ` Johannes Thumshirn
2018-05-30 22:44       ` Mike Snitzer
2018-05-31  8:51         ` Sagi Grimberg
2018-05-31 12:41           ` Mike Snitzer
2018-06-04 21:58       ` Roland Dreier
2018-06-05  4:42         ` Christoph Hellwig
2018-06-05 22:57           ` Roland Dreier
2018-06-06  9:51             ` Christoph Hellwig
2018-06-06  9:32           ` Sagi Grimberg
2018-06-06  9:50             ` Christoph Hellwig
2018-05-25 14:22   ` Johannes Thumshirn
2018-05-25 14:30     ` Christoph Hellwig

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=20180530195942.GC6568@redhat.com \
    --to=snitzer@redhat.com \
    /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;
as well as URLs for NNTP newsgroup(s).