All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kai-Heng Feng <kai.heng.feng@canonical.com>
To: Christoph Hellwig <hch@lst.de>
Cc: kbusch@kernel.org, axboe@fb.com, sagi@grimberg.me,
	kyounghwan sohn <kyounghwan.sohn@sk.com>,
	"open list:NVM EXPRESS DRIVER" <linux-nvme@lists.infradead.org>,
	open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2] nvme/pci: Add new quirk for SK hynix PC400 NLB off-by-one bug
Date: Fri, 24 Jul 2020 00:10:39 +0800	[thread overview]
Message-ID: <45DFD291-E6BF-48DE-A447-6FA4086D40A5@canonical.com> (raw)
In-Reply-To: <20200723160325.GA17996@lst.de>


> On Jul 24, 2020, at 00:03, Christoph Hellwig <hch@lst.de> wrote:
> 
> On Thu, Jul 23, 2020 at 11:57:31PM +0800, Kai-Heng Feng wrote:
>> After commit 6e02318eaea5 ("nvme: add support for the Write Zeroes
>> command"), SK hynix PC400 becomes very slow with the following error
>> message:
>> [  224.567695] blk_update_request: operation not supported error, dev nvme1n1, sector 499384320 op 0x9:(WRITE_ZEROES) flags 0x1000000 phys_seg 0 prio class 0]
>> 
>> SK Hynix PC400 has a buggy firmware that treats NLB as max value instead
>> of a range, so the NLB passed isn't a valid value to the firmware.
>> 
>> According to SK hynix there are three commands are affected:
>> - Write Zeroes
>> - Compare
>> - Write Uncorrectable
>> 
>> Write Uncorrectable isn't implemented yet, so add a new quirk to
>> workaround the former two commands.
> 
> compare isn't implemented either in the kernel, and we certainly
> aren't going to do these quirks for passthrough.  So I think we really
> want a "write zeroes is buggy" quirk and just disable issuing that
> command from the driver.

Ok, will send a new version based on your suggestion.

> 
>> 
>> BugLink: https://bugs.launchpad.net/bugs/1872383
>> Cc: kyounghwan sohn <kyounghwan.sohn@sk.com>
>> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
>> ---
>> v2:
>> - SK hynix found the root cause so change the approach accordingly.
>> - lspci is wrong, the device is PC400 instead of SC300.
> 
> I don't remember seing a v1..

Well, because it took some time for the vendor to find the root cause...
Here's the v1:
https://lkml.org/lkml/2020/4/17/169

Kai-Heng


WARNING: multiple messages have this Message-ID (diff)
From: Kai-Heng Feng <kai.heng.feng@canonical.com>
To: Christoph Hellwig <hch@lst.de>
Cc: sagi@grimberg.me, open list <linux-kernel@vger.kernel.org>,
	"open list:NVM EXPRESS DRIVER" <linux-nvme@lists.infradead.org>,
	axboe@fb.com, kbusch@kernel.org,
	kyounghwan sohn <kyounghwan.sohn@sk.com>
Subject: Re: [PATCH v2] nvme/pci: Add new quirk for SK hynix PC400 NLB off-by-one bug
Date: Fri, 24 Jul 2020 00:10:39 +0800	[thread overview]
Message-ID: <45DFD291-E6BF-48DE-A447-6FA4086D40A5@canonical.com> (raw)
In-Reply-To: <20200723160325.GA17996@lst.de>


> On Jul 24, 2020, at 00:03, Christoph Hellwig <hch@lst.de> wrote:
> 
> On Thu, Jul 23, 2020 at 11:57:31PM +0800, Kai-Heng Feng wrote:
>> After commit 6e02318eaea5 ("nvme: add support for the Write Zeroes
>> command"), SK hynix PC400 becomes very slow with the following error
>> message:
>> [  224.567695] blk_update_request: operation not supported error, dev nvme1n1, sector 499384320 op 0x9:(WRITE_ZEROES) flags 0x1000000 phys_seg 0 prio class 0]
>> 
>> SK Hynix PC400 has a buggy firmware that treats NLB as max value instead
>> of a range, so the NLB passed isn't a valid value to the firmware.
>> 
>> According to SK hynix there are three commands are affected:
>> - Write Zeroes
>> - Compare
>> - Write Uncorrectable
>> 
>> Write Uncorrectable isn't implemented yet, so add a new quirk to
>> workaround the former two commands.
> 
> compare isn't implemented either in the kernel, and we certainly
> aren't going to do these quirks for passthrough.  So I think we really
> want a "write zeroes is buggy" quirk and just disable issuing that
> command from the driver.

Ok, will send a new version based on your suggestion.

> 
>> 
>> BugLink: https://bugs.launchpad.net/bugs/1872383
>> Cc: kyounghwan sohn <kyounghwan.sohn@sk.com>
>> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
>> ---
>> v2:
>> - SK hynix found the root cause so change the approach accordingly.
>> - lspci is wrong, the device is PC400 instead of SC300.
> 
> I don't remember seing a v1..

Well, because it took some time for the vendor to find the root cause...
Here's the v1:
https://lkml.org/lkml/2020/4/17/169

Kai-Heng


_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

  reply	other threads:[~2020-07-23 16:10 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-17  8:36 [PATCH] nvme/pci: Use Discard instead of Write Zeroes on SK hynix SC300 Kai-Heng Feng
2020-04-17  8:36 ` Kai-Heng Feng
2020-04-17 12:59 ` Christoph Hellwig
2020-04-17 12:59   ` Christoph Hellwig
2020-04-21  4:51   ` Kai-Heng Feng
2020-04-21  4:51     ` Kai-Heng Feng
2020-04-17 19:25 ` Chaitanya Kulkarni
2020-04-17 19:25   ` Chaitanya Kulkarni
2020-04-21  4:51   ` Kai-Heng Feng
2020-04-21  4:51     ` Kai-Heng Feng
2020-07-23 15:57 ` [PATCH v2] nvme/pci: Add new quirk for SK hynix PC400 NLB off-by-one bug Kai-Heng Feng
2020-07-23 15:57   ` Kai-Heng Feng
2020-07-23 16:03   ` Christoph Hellwig
2020-07-23 16:03     ` Christoph Hellwig
2020-07-23 16:10     ` Kai-Heng Feng [this message]
2020-07-23 16:10       ` Kai-Heng Feng
2020-07-23 17:29   ` [PATCH v3] nvme/pci: Prevent SK hynix PC400 from using Write Zeroes command Kai-Heng Feng
2020-07-23 17:29     ` Kai-Heng Feng
2020-07-26 15:29     ` Christoph Hellwig
2020-07-26 15:29       ` Christoph Hellwig
2020-10-13  8:34   ` [PATCH] nvme-pci: Disable Write Zeroes on Sandisk Skyhawk Kai-Heng Feng
2020-10-13  8:34     ` Kai-Heng Feng
2020-10-14  0:20     ` Chaitanya Kulkarni
2020-10-14  0:20       ` Chaitanya Kulkarni
2020-10-15  5:09       ` Kai-Heng Feng
2020-10-15  5:09         ` Kai-Heng Feng
2020-10-16 14:04     ` Christoph Hellwig
2020-10-16 14:04       ` 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=45DFD291-E6BF-48DE-A447-6FA4086D40A5@canonical.com \
    --to=kai.heng.feng@canonical.com \
    --cc=axboe@fb.com \
    --cc=hch@lst.de \
    --cc=kbusch@kernel.org \
    --cc=kyounghwan.sohn@sk.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=sagi@grimberg.me \
    /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.