From: Christoph Hellwig <hch@infradead.org>
To: "Matias Bjørling" <matias@cnexlabs.com>
Cc: Christoph Hellwig <hch@infradead.org>,
linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-nvme@lists.infradead.org
Subject: Re: [PATCH 1/2] lightnvm: add generic ocssd detection
Date: Sat, 25 Feb 2017 22:47:01 -0800 [thread overview]
Message-ID: <20170226064701.GA7557@infradead.org> (raw)
In-Reply-To: <8cce0bfd-a153-ba4e-0d84-bea29764982e@cnexlabs.com>
[adding linux-nvme to Cc as the patch changes the nvme driver, despite
the subject line]
On Sat, Feb 25, 2017 at 08:16:04PM +0100, Matias Bj=F8rling wrote:
> On 02/25/2017 07:21 PM, Christoph Hellwig wrote:
> > On Fri, Feb 24, 2017 at 06:16:48PM +0100, Matias Bj=F8rling wrote:
> > > More implementations of OCSSDs are becoming available. Adding each us=
ing
> > > pci ids are becoming a hassle. Instead, use a 16 byte string in the
> > > vendor-specific area of the identification command to identify an
> > > Open-Channel SSD.
> > > =
> > > The large string should make the collision probability with other
> > > vendor-specific strings to be near nil.
> > =
> > No way in hell. vs is vendor specific and we absolutely can't overload
> > it with any sort of meaning. Get OCSSD support properly standardized a=
nd
> > add a class code for it. Until then it's individual PCI IDs.
> > =
> =
> You are right, that is the right way to go, and we are working on it. In =
the
> meantime, there are a couple of reasons I want to do a pragmatic solution:
Reasonable reaosons, but that's just not how standard interfaces work.
Either you standardize the behaviour and have a standardized trigger
for it, or it is vendor specific and needs to be keyed off a specific
vendor/device identification.
> 1. Enabling open-channel SSDs on NVMeoF. Customers are asking to use OCSS=
Ds
> with NVMoeF. I do not think detection of PCI ids works with that.
To use NVMoeF your protocol needs to be NVMe. Get it standardized.
> 2. Some vendors are circumventing the OCSSD detection by utilizing the CN=
EX
> Labs PCI ids. That is not very helpful and shows that there is a need for=
a
> generic approach. When they become public and will use their PCI id (if t=
hey
> will do that...), it is cumbersome to backport their PCI ids back to
> previous kernel versions to detect support.
Sue them.
> 3. Things are not a technical issue for why this is not adopted today. It
> will be soon enough one way or another, but until then, a pragmatic appro=
ach
> would go a long way.
It's not a pragmatic approach, it's broken so please don't use these
whitewashing words.
> If identify VS is too specific, is there another combination that solves =
the
> above in a generic and practical way that would satisfy you and the above?
Standardize your interface and get a I/O command set bit for it
standardized in the NVMe spec. You've had a year and a half since
the lightnvm code hit the kernel tree to do this.
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
WARNING: multiple messages have this Message-ID (diff)
From: hch@infradead.org (Christoph Hellwig)
Subject: [PATCH 1/2] lightnvm: add generic ocssd detection
Date: Sat, 25 Feb 2017 22:47:01 -0800 [thread overview]
Message-ID: <20170226064701.GA7557@infradead.org> (raw)
In-Reply-To: <8cce0bfd-a153-ba4e-0d84-bea29764982e@cnexlabs.com>
[adding linux-nvme to Cc as the patch changes the nvme driver, despite
the subject line]
On Sat, Feb 25, 2017@08:16:04PM +0100, Matias Bj?rling wrote:
> On 02/25/2017 07:21 PM, Christoph Hellwig wrote:
> > On Fri, Feb 24, 2017@06:16:48PM +0100, Matias Bj?rling wrote:
> > > More implementations of OCSSDs are becoming available. Adding each using
> > > pci ids are becoming a hassle. Instead, use a 16 byte string in the
> > > vendor-specific area of the identification command to identify an
> > > Open-Channel SSD.
> > >
> > > The large string should make the collision probability with other
> > > vendor-specific strings to be near nil.
> >
> > No way in hell. vs is vendor specific and we absolutely can't overload
> > it with any sort of meaning. Get OCSSD support properly standardized and
> > add a class code for it. Until then it's individual PCI IDs.
> >
>
> You are right, that is the right way to go, and we are working on it. In the
> meantime, there are a couple of reasons I want to do a pragmatic solution:
Reasonable reaosons, but that's just not how standard interfaces work.
Either you standardize the behaviour and have a standardized trigger
for it, or it is vendor specific and needs to be keyed off a specific
vendor/device identification.
> 1. Enabling open-channel SSDs on NVMeoF. Customers are asking to use OCSSDs
> with NVMoeF. I do not think detection of PCI ids works with that.
To use NVMoeF your protocol needs to be NVMe. Get it standardized.
> 2. Some vendors are circumventing the OCSSD detection by utilizing the CNEX
> Labs PCI ids. That is not very helpful and shows that there is a need for a
> generic approach. When they become public and will use their PCI id (if they
> will do that...), it is cumbersome to backport their PCI ids back to
> previous kernel versions to detect support.
Sue them.
> 3. Things are not a technical issue for why this is not adopted today. It
> will be soon enough one way or another, but until then, a pragmatic approach
> would go a long way.
It's not a pragmatic approach, it's broken so please don't use these
whitewashing words.
> If identify VS is too specific, is there another combination that solves the
> above in a generic and practical way that would satisfy you and the above?
Standardize your interface and get a I/O command set bit for it
standardized in the NVMe spec. You've had a year and a half since
the lightnvm code hit the kernel tree to do this.
WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@infradead.org>
To: "Matias Bjørling" <matias@cnexlabs.com>
Cc: Christoph Hellwig <hch@infradead.org>,
linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-nvme@lists.infradead.org
Subject: Re: [PATCH 1/2] lightnvm: add generic ocssd detection
Date: Sat, 25 Feb 2017 22:47:01 -0800 [thread overview]
Message-ID: <20170226064701.GA7557@infradead.org> (raw)
In-Reply-To: <8cce0bfd-a153-ba4e-0d84-bea29764982e@cnexlabs.com>
[adding linux-nvme to Cc as the patch changes the nvme driver, despite
the subject line]
On Sat, Feb 25, 2017 at 08:16:04PM +0100, Matias Bjørling wrote:
> On 02/25/2017 07:21 PM, Christoph Hellwig wrote:
> > On Fri, Feb 24, 2017 at 06:16:48PM +0100, Matias Bjørling wrote:
> > > More implementations of OCSSDs are becoming available. Adding each using
> > > pci ids are becoming a hassle. Instead, use a 16 byte string in the
> > > vendor-specific area of the identification command to identify an
> > > Open-Channel SSD.
> > >
> > > The large string should make the collision probability with other
> > > vendor-specific strings to be near nil.
> >
> > No way in hell. vs is vendor specific and we absolutely can't overload
> > it with any sort of meaning. Get OCSSD support properly standardized and
> > add a class code for it. Until then it's individual PCI IDs.
> >
>
> You are right, that is the right way to go, and we are working on it. In the
> meantime, there are a couple of reasons I want to do a pragmatic solution:
Reasonable reaosons, but that's just not how standard interfaces work.
Either you standardize the behaviour and have a standardized trigger
for it, or it is vendor specific and needs to be keyed off a specific
vendor/device identification.
> 1. Enabling open-channel SSDs on NVMeoF. Customers are asking to use OCSSDs
> with NVMoeF. I do not think detection of PCI ids works with that.
To use NVMoeF your protocol needs to be NVMe. Get it standardized.
> 2. Some vendors are circumventing the OCSSD detection by utilizing the CNEX
> Labs PCI ids. That is not very helpful and shows that there is a need for a
> generic approach. When they become public and will use their PCI id (if they
> will do that...), it is cumbersome to backport their PCI ids back to
> previous kernel versions to detect support.
Sue them.
> 3. Things are not a technical issue for why this is not adopted today. It
> will be soon enough one way or another, but until then, a pragmatic approach
> would go a long way.
It's not a pragmatic approach, it's broken so please don't use these
whitewashing words.
> If identify VS is too specific, is there another combination that solves the
> above in a generic and practical way that would satisfy you and the above?
Standardize your interface and get a I/O command set bit for it
standardized in the NVMe spec. You've had a year and a half since
the lightnvm code hit the kernel tree to do this.
next prev parent reply other threads:[~2017-02-26 6:47 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-24 17:16 [PATCH 1/2] lightnvm: add generic ocssd detection Matias Bjørling
2017-02-24 17:16 ` [PATCH 2/2] lightnvm: fix assert fixes and enable checks Matias Bjørling
2017-02-25 18:21 ` [PATCH 1/2] lightnvm: add generic ocssd detection Christoph Hellwig
2017-02-25 18:21 ` Christoph Hellwig
2017-02-25 19:16 ` Matias Bjørling
2017-02-25 19:16 ` Matias Bjørling
2017-02-26 6:47 ` Christoph Hellwig [this message]
2017-02-26 6:47 ` Christoph Hellwig
2017-02-26 6:47 ` Christoph Hellwig
2017-02-27 18:35 ` Sagi Grimberg
2017-02-27 18:35 ` Sagi Grimberg
2017-02-27 18:35 ` Sagi Grimberg
2017-02-27 18:50 ` Keith Busch
2017-02-27 18:50 ` Keith Busch
2017-02-27 18:50 ` 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=20170226064701.GA7557@infradead.org \
--to=hch@infradead.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=matias@cnexlabs.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.