From: James.Bottomley@HansenPartnership.com (James Bottomley)
Subject: [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@20:01 +0530, Kashyap Desai wrote:
> >
> > -----Original Message-----
> > From: James Bottomley [mailto:James.Bottomley at HansenPartnership.com
> > ]
> > Sent: Monday, August 07, 2017 7:48 PM
> > To: Kashyap Desai; Christoph Hellwig; Hannes Reinecke
> > Cc: Suganath Prabu Subramani; martin.petersen at oracle.com; linux-
> > scsi at vger.kernel.org; Sathya Prakash Veerichetty; linux-
> > kernel at vger.kernel.org; Chaitra Basappa; Sreekanth Reddy; linux-
> > nvme at lists.infradead.org
> > Subject: Re: [PATCH v2 00/13] mpt3sas driver NVMe support:
> >
> > On Mon, 2017-08-07@19:26 +0530, Kashyap Desai wrote:
> > >
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: James Bottomley [mailto:James.Bottomley at HansenPartnership
> > > > .com
> > > > ]
> > > > Sent: Saturday, August 05, 2017 8:12 PM
> > > > To: Christoph Hellwig; Hannes Reinecke
> > > > Cc: Suganath Prabu S; martin.petersen at oracle.com; linux-
> > > > scsi at vger.kernel.org; Sathya.Prakash at broadcom.com;
> > > > kashyap.desai at broadcom.com; linux-kernel at vger.kernel.org;
> > > > chaitra.basappa at broadcom.com; sreekanth.reddy at broadcom.com;
> > > > linux-
> > > > nvme at lists.infradead.org
> > > > Subject: Re: [PATCH v2 00/13] mpt3sas driver NVMe support:
> > > >
> > > > On Sat, 2017-08-05@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
WARNING: multiple messages have this Message-ID (diff)
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: 88+ 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 ` Suganath Prabu S
2017-07-14 13:22 ` [PATCH v2 01/13] mpt3sas: Update MPI Header Suganath Prabu S
2017-07-14 13:22 ` Suganath Prabu S
2017-08-03 6:24 ` Hannes Reinecke
2017-08-03 6:24 ` Hannes Reinecke
2017-08-03 7:55 ` Johannes Thumshirn
2017-08-03 7:55 ` Johannes Thumshirn
2017-08-03 9:34 ` Sreekanth Reddy
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-07-14 13:22 ` Suganath Prabu S
2017-08-03 6:27 ` Hannes Reinecke
2017-08-03 6:27 ` Hannes Reinecke
2017-08-03 10:09 ` Sreekanth Reddy
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-14 13:22 ` Suganath Prabu S
2017-07-27 13:26 ` Martin K. Petersen
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-07-14 13:22 ` Suganath Prabu S
2017-08-03 6:33 ` Hannes Reinecke
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-07-14 13:22 ` Suganath Prabu S
2017-08-03 6:35 ` Hannes Reinecke
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-07-14 13:22 ` Suganath Prabu S
2017-08-03 6:36 ` Hannes Reinecke
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-07-14 13:22 ` Suganath Prabu S
2017-08-03 6:38 ` Hannes Reinecke
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-07-14 13:22 ` Suganath Prabu S
2017-08-03 6:39 ` Hannes Reinecke
2017-08-03 6:39 ` Hannes Reinecke
2017-08-03 9:52 ` Sreekanth Reddy
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-07-14 13:22 ` Suganath Prabu S
2017-08-03 6:40 ` Hannes Reinecke
2017-08-03 6:40 ` Hannes Reinecke
2017-08-03 10:19 ` Sreekanth Reddy
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-07-14 13:22 ` Suganath Prabu S
2017-08-03 6:43 ` Hannes Reinecke
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-07-14 13:22 ` Suganath Prabu S
2017-08-03 6:44 ` Hannes Reinecke
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-07-14 13:22 ` Suganath Prabu S
2017-08-03 6:44 ` Hannes Reinecke
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-07-14 13:22 ` Suganath Prabu S
2017-08-03 6:45 ` Hannes Reinecke
2017-08-03 6:45 ` Hannes Reinecke
2017-07-25 5:20 ` [PATCH v2 00/13] mpt3sas driver NVMe support: Suganath Prabu Subramani
2017-07-25 5:20 ` Suganath Prabu Subramani
2017-08-02 8:14 ` Hannes Reinecke
2017-08-02 8:14 ` Hannes Reinecke
2017-08-03 6:48 ` Hannes Reinecke
2017-08-03 6:48 ` Hannes Reinecke
2017-08-05 13:53 ` Christoph Hellwig
2017-08-05 13:53 ` Christoph Hellwig
2017-08-05 14:42 ` James Bottomley
2017-08-05 14:42 ` James Bottomley
2017-08-07 13:56 ` Kashyap Desai
2017-08-07 13:56 ` Kashyap Desai
2017-08-07 14:18 ` James Bottomley
2017-08-07 14:18 ` James Bottomley
2017-08-07 14:31 ` Kashyap Desai
2017-08-07 14:31 ` Kashyap Desai
2017-08-07 15:45 ` James Bottomley [this message]
2017-08-07 15:45 ` James Bottomley
2017-08-08 4:04 ` Keith Busch
2017-08-08 4:04 ` Keith Busch
2017-08-08 7:03 ` Sreekanth Reddy
2017-08-08 7:03 ` Sreekanth Reddy
2017-08-08 7:29 ` Keith Busch
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 \
/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.