From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Kashyap Desai <kashyap.desai@broadcom.com>,
Christoph Hellwig <hch@infradead.org>,
Hannes Reinecke <hare@suse.de>
Cc: Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
martin.petersen@oracle.com, linux-scsi@vger.kernel.org,
Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>,
linux-kernel@vger.kernel.org,
Chaitra Basappa <chaitra.basappa@broadcom.com>,
Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
linux-nvme@lists.infradead.org
Subject: Re: [PATCH v2 00/13] mpt3sas driver NVMe support:
Date: Mon, 07 Aug 2017 08:45:25 -0700 [thread overview]
Message-ID: <1502120725.2841.28.camel@HansenPartnership.com> (raw)
In-Reply-To: <da1e0ded0c7d4bab1cfa0850488c8fb7@mail.gmail.com>
On Mon, 2017-08-07 at 20:01 +0530, Kashyap Desai wrote:
> >
> > -----Original Message-----
> > From: James Bottomley [mailto:James.Bottomley@HansenPartnership.com
> > ]
> > Sent: Monday, August 07, 2017 7:48 PM
> > To: Kashyap Desai; Christoph Hellwig; Hannes Reinecke
> > Cc: Suganath Prabu Subramani; martin.petersen@oracle.com; linux-
> > scsi@vger.kernel.org; Sathya Prakash Veerichetty; linux-
> > kernel@vger.kernel.org; Chaitra Basappa; Sreekanth Reddy; linux-
> > nvme@lists.infradead.org
> > Subject: Re: [PATCH v2 00/13] mpt3sas driver NVMe support:
> >
> > On Mon, 2017-08-07 at 19:26 +0530, Kashyap Desai wrote:
> > >
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: James Bottomley [mailto:James.Bottomley@HansenPartnership
> > > > .com
> > > > ]
> > > > Sent: Saturday, August 05, 2017 8:12 PM
> > > > To: Christoph Hellwig; Hannes Reinecke
> > > > Cc: Suganath Prabu S; martin.petersen@oracle.com; linux-
> > > > scsi@vger.kernel.org; Sathya.Prakash@broadcom.com;
> > > > kashyap.desai@broadcom.com; linux-kernel@vger.kernel.org;
> > > > chaitra.basappa@broadcom.com; sreekanth.reddy@broadcom.com;
> > > > linux-
> > > > nvme@lists.infradead.org
> > > > Subject: Re: [PATCH v2 00/13] mpt3sas driver NVMe support:
> > > >
> > > > On Sat, 2017-08-05 at 06:53 -0700, Christoph Hellwig wrote:
> > > > >
> > > > >
> > > > > On Wed, Aug 02, 2017 at 10:14:40AM +0200, Hannes Reinecke
> > > > > wrote:
> > > > > >
> > > > > >
> > > > > >
> > > > > > I'm not happy with this approach.
> > > > > > NVMe devices should _not_ appear as SCSI devices; this will
> > > > > > just
> > > > > > confuse matters _and_ will be incompatible with 'normal'
> > > > > > NVMe
> > > > > > devices.
> > > > > >
> > > > > > Rather I would like to see the driver to hook into the
> > > > > > existing
> > > > > > NVMe framework (which essentially means to treat the
> > > > > > mpt3sas as
> > > > > > a weird NVMe-over-Fabrics HBA), and expose the NVMe devices
> > > > > > like
> > > > > > any other NVMe HBA.
> > > > >
> > > > > That doesn't make any sense. The devices behind the mpt
> > > > > adapter
> > > > > don't look like NVMe devices at all for the hosts - there are
> > > > > no
> > > > > NVMe commands or queues involved at all, they hide behind the
> > > > > same
> > > > > somewhat leaky scsi abstraction as other devices behind the
> > > > > mpt
> > > > > controller.
> > > >
> > > > You might think about what we did for SAS: split the generic
> > > > handler
> > > > into two pieces, libsas for driving the devices, which mpt
> > > > didn't
> > > > need because of the fat firmware and the SAS transport class so
> > > > mpt
> > > > could at least show the same sysfs files as everything else for
> > > > SAS
> > > > devices.
> > >
> > > Ventura generation of controllers are adding connectivity of
> > > NVME
> > > drives seamlessly and protocol handling is in Firmware.
> > > Same as SCSI to ATA translation done in firmware, Ventura
> > > controller
> > > is doing SCSI to NVME translation and for end user protocol
> > > handling
> > > is abstracted.
> > >
> > > This product handles new Transport protocol (NVME) same as ATA
> > > and
> > > transport is abstracted for end user.
> > >
> > > NVME pass-through related driver code, it is just a big tunnel
> > > for
> > > user space application. It is just a basic framework like SATA
> > > PASS-
> > > Through in existing mpt3sas driver.
> >
> > I know how it works ... and I'm on record as not liking your SATL
> > approach
> > because we keep tripping across bugs in the SATL that we have to
> > fix in
> > the
> > driver.
>
> We discussed about NVME device support behind <mpt3sas> to Hannes and
> he suggested to describe to product behavior to wider audience to be
> aware. Just wanted to share the notes.
Great, thanks! it's certainly better than releasing the product and
having us have to support it.
> > However, at least for bot SAS and SATA they appear to the system as
> > SCSI
> > devices regardless of HBA, so we've largely smoothed over any
> > problems if
> > you
> > transfer from mp3sas to another SAS/SATA controller.
> >
> > I believe your current proposal is to have NVMe devices appear as
> > SCSI,
> > which
> > isn't how the native NVMe driver handles them at all. This is
> > going to
> > have to
> > be special cased in any tool designed to handle nvme devices and
> > it's
> > going to
> > cause big problems if someone changes controller (or moves the
> > device). What's the proposal for making this as painless as
> > possible?
>
> We have to attempt this use case and see how it behaves. I have not
> tried this, so not sure if things are really bad or just some tuning
> may be helpful. I will revert back to you on this.
>
> I understood request as - We need some udev rules to be working well
> for *same* NVME drives if it is behind <mpt3sas> or native <nvme>.
> Example - If user has OS installed on NVME drive which is behind
> <mpt3sas> driver as SCSI disk should be able to boot if he/she hooked
> same NVME drive which is detected by native <nvme> driver (and vice
> versa.)
It's not just the udev rules, it's the tools as well; possibly things
like that nvme-cli toolkit Intel is doing.
James
next prev parent reply other threads:[~2017-08-07 15:45 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-14 13:22 [PATCH v2 00/13] mpt3sas driver NVMe support: Suganath Prabu S
2017-07-14 13:22 ` [PATCH v2 01/13] mpt3sas: Update MPI Header Suganath Prabu S
2017-08-03 6:24 ` Hannes Reinecke
2017-08-03 7:55 ` Johannes Thumshirn
2017-08-03 9:34 ` Sreekanth Reddy
2017-07-14 13:22 ` [PATCH v2 02/13] mpt3sas: Add nvme device support in slave alloc, target alloc and probe Suganath Prabu S
2017-08-03 6:27 ` Hannes Reinecke
2017-08-03 10:09 ` Sreekanth Reddy
2017-07-14 13:22 ` [PATCH v2 03/13] mpt3sas: SGL to PRP Translation for I/Os to NVMe devices Suganath Prabu S
2017-07-27 13:26 ` Martin K. Petersen
2017-07-14 13:22 ` [PATCH v2 04/13] mpt3sas: Added support for nvme encapsulated request message Suganath Prabu S
2017-08-03 6:33 ` Hannes Reinecke
2017-07-14 13:22 ` [PATCH v2 05/13] mpt3sas: API 's to support NVMe drive addition to SML Suganath Prabu S
2017-08-03 6:35 ` Hannes Reinecke
2017-07-14 13:22 ` [PATCH v2 06/13] mpt3sas: API's to remove nvme drive from sml Suganath Prabu S
2017-08-03 6:36 ` Hannes Reinecke
2017-07-14 13:22 ` [PATCH v2 07/13] mpt3sas: Handle NVMe PCIe device related events generated from firmware Suganath Prabu S
2017-08-03 6:38 ` Hannes Reinecke
2017-07-14 13:22 ` [PATCH v2 08/13] mpt3sas: Set NVMe device queue depth as 128 Suganath Prabu S
2017-08-03 6:39 ` Hannes Reinecke
2017-08-03 9:52 ` Sreekanth Reddy
2017-07-14 13:22 ` [PATCH v2 09/13] mpt3sas: scan and add nvme device after controller reset Suganath Prabu S
2017-08-03 6:40 ` Hannes Reinecke
2017-08-03 10:19 ` Sreekanth Reddy
2017-07-14 13:22 ` [PATCH v2 10/13] mpt3as: Add-Task-management-debug-info-for-NVMe-drives Suganath Prabu S
2017-08-03 6:43 ` Hannes Reinecke
2017-07-14 13:22 ` [PATCH v2 11/13] mpt3sas: NVMe drive support for BTDHMAPPING ioctl command and log info Suganath Prabu S
2017-08-03 6:44 ` Hannes Reinecke
2017-07-14 13:22 ` [PATCH v2 12/13] mpt3sas: Fix nvme drives checking for tlr Suganath Prabu S
2017-08-03 6:44 ` Hannes Reinecke
2017-07-14 13:22 ` [PATCH v2 13/13] mpt3sas: Update mpt3sas driver version Suganath Prabu S
2017-08-03 6:45 ` Hannes Reinecke
2017-07-25 5:20 ` [PATCH v2 00/13] mpt3sas driver NVMe support: Suganath Prabu Subramani
2017-08-02 8:14 ` Hannes Reinecke
2017-08-03 6:48 ` Hannes Reinecke
2017-08-05 13:53 ` Christoph Hellwig
2017-08-05 14:42 ` James Bottomley
2017-08-07 13:56 ` Kashyap Desai
2017-08-07 14:18 ` James Bottomley
2017-08-07 14:31 ` Kashyap Desai
2017-08-07 15:45 ` James Bottomley [this message]
2017-08-08 4:04 ` Keith Busch
2017-08-08 7:03 ` Sreekanth Reddy
2017-08-08 7:29 ` Keith Busch
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=1502120725.2841.28.camel@HansenPartnership.com \
--to=james.bottomley@hansenpartnership.com \
--cc=chaitra.basappa@broadcom.com \
--cc=hare@suse.de \
--cc=hch@infradead.org \
--cc=kashyap.desai@broadcom.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=sathya.prakash@broadcom.com \
--cc=sreekanth.reddy@broadcom.com \
--cc=suganath-prabu.subramani@broadcom.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).