linux-nvme.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: hch@lst.de (Christoph Hellwig)
Subject: [PATCH 0/5] ahci: nvme remap support
Date: Mon, 24 Oct 2016 19:55:27 +0200	[thread overview]
Message-ID: <20161024175527.GA11088@lst.de> (raw)
In-Reply-To: <CAPcyv4jSx5c3DzEsbfUph5Akk-XyxQ2sXAgmLZfhvGEOUtBqdQ@mail.gmail.com>

On Mon, Oct 24, 2016@10:46:29AM -0700, Dan Williams wrote:
> On Mon, Oct 24, 2016@8:16 AM, Christoph Hellwig <hch@lst.de> wrote:
> > On Mon, Oct 24, 2016@10:46:29AM -0400, Keith Busch wrote:
> >> Amber is aware of this and was supportive in having Intel open the
> >> specs to enable this hardware.
> >
> > Ok, let's get the spec out first.
> 
> The patch contents are it.

Well. that's simply not acceptable.  We will need a theory of
operation for this device to support it, because the patch as-is
simply doesn't make sense.

We'll also need to know where such device might show up, and why
Linux support for it matters.

> > Do we expect to be able to use the
> > AHCI interface and the NVMe interface at the same time?
> 
> Yes, simultaneous access.

Yikes.  I'm really tempted to say this is not acceptable - Intel
really must know better.

> That said, the driver seems to already comprehend instances where the
> device does not support nvme_reset_subsystem() requests. I don't know
> how often those resets need to be issued in practice.

It's not about how often reset are needed (and there are controller
resets in addition to function level resets), but how they are
defined to work.  What state is a controller in after a host initiated
reset, after a PCIe hotplug or even warm plug.  What state is the
PCI device in when the controller is in a failed state?

> > If it's the latter let's keep AHCI entirely out
> > of the game - add the affected PCI IDs to the NVMe driver itself, add
> > a quirk for them and implement the enable sequence inside the NVMe
> > driver.
> 
> The PCI ID of the AHCI device is not uniquely identifiable when in this mode.
> 
> We could flip the arrangement and have the ahci device as the platform
> device, but I'm not sure this makes the nvme reset problem much
> better.  If we allow subsystem resets at all they would still need to
> be coordinated across 2 devices/drivers to reinitialize pci registers.

I think the simple answer is to not support this device.  It's not like
Intel doesn't know the AHCI and NVMe specs and had any reaoson to come
up with a piece of junk like this.

  reply	other threads:[~2016-10-24 17:55 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-22  0:25 [PATCH 0/5] ahci: nvme remap support Dan Williams
2016-10-22  0:25 ` [PATCH 1/5] " Dan Williams
2016-10-22  0:25 ` [PATCH 2/5] nvme: rename "pci" operations to "mmio" Dan Williams
2016-10-22  0:25 ` [PATCH 3/5] nvme: introduce nvme_dev_ops Dan Williams
2016-10-22  0:25 ` [PATCH 4/5] nvme: move common definitions to pci.h Dan Williams
2016-10-22  0:25 ` [PATCH 5/5] nvme: ahci remap support Dan Williams
2016-10-22  6:50 ` [PATCH 0/5] ahci: nvme " Christoph Hellwig
2016-10-22 19:26   ` Dan Williams
2016-10-23  8:34     ` Christoph Hellwig
2016-10-23 13:57       ` Dan Williams
2016-10-24 12:49         ` Christoph Hellwig
2016-10-24 14:46           ` Keith Busch
2016-10-24 15:16             ` Christoph Hellwig
2016-10-24 17:46               ` Dan Williams
2016-10-24 17:55                 ` Christoph Hellwig [this message]
2016-10-24 21:01                   ` Dan Williams
2016-10-24 17:57                 ` Dan Williams
2016-10-24 18:21                   ` Christoph Hellwig
2016-11-15 18:52 ` Christoph Hellwig
2016-11-19  6:12   ` Dan Williams

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=20161024175527.GA11088@lst.de \
    --to=hch@lst.de \
    /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).