After commit 6e02318eaea5 ("nvme: add support for the Write Zeroes command"), SK hynix SC300 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]
Use quirk NVME_QUIRK_DEALLOCATE_ZEROES to workaround this issue.
BugLink: https://bugs.launchpad.net/bugs/1872383 Cc: linux-stable stable@vger.kernel.org # >= 5.1 Signed-off-by: Kai-Heng Feng kai.heng.feng@canonical.com --- drivers/nvme/host/pci.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index 4e79e412b276..e3f4dac823d8 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -3068,6 +3068,8 @@ static const struct pci_device_id nvme_id_table[] = { .driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY, }, { PCI_DEVICE(0x1c58, 0x0023), /* WDC SN200 adapter */ .driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY, }, + { PCI_DEVICE(0x1c5c, 0x1504), /* SK hynix SC300 */ + .driver_data = NVME_QUIRK_DEALLOCATE_ZEROES, }, { PCI_DEVICE(0x1c5f, 0x0540), /* Memblaze Pblaze4 adapter */ .driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY, }, { PCI_DEVICE(0x144d, 0xa821), /* Samsung PM1725 */
On Fri, Apr 17, 2020 at 04:36:41PM +0800, Kai-Heng Feng wrote:
After commit 6e02318eaea5 ("nvme: add support for the Write Zeroes command"), SK hynix SC300 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]
Use quirk NVME_QUIRK_DEALLOCATE_ZEROES to workaround this issue.
Do you have a written guarantee from SK Hynix that it will always zero all blocks discarded?
On Apr 17, 2020, at 20:59, Christoph Hellwig hch@lst.de wrote:
On Fri, Apr 17, 2020 at 04:36:41PM +0800, Kai-Heng Feng wrote:
After commit 6e02318eaea5 ("nvme: add support for the Write Zeroes command"), SK hynix SC300 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]
Use quirk NVME_QUIRK_DEALLOCATE_ZEROES to workaround this issue.
Do you have a written guarantee from SK Hynix that it will always zero all blocks discarded?
Raised the issue to SK Hynix and waiting for their reply...
Kai-Heng
On 04/17/2020 01:37 AM, Kai-Heng Feng wrote:
After commit 6e02318eaea5 ("nvme: add support for the Write Zeroes command"), SK hynix SC300 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]
Use quirk NVME_QUIRK_DEALLOCATE_ZEROES to workaround this issue.
Can you share nvme id-ctrl -H /dev/nvme0 | grep oncs -A 8 output?
On Apr 18, 2020, at 03:25, Chaitanya Kulkarni Chaitanya.Kulkarni@wdc.com wrote:
On 04/17/2020 01:37 AM, Kai-Heng Feng wrote:
After commit 6e02318eaea5 ("nvme: add support for the Write Zeroes command"), SK hynix SC300 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]
Use quirk NVME_QUIRK_DEALLOCATE_ZEROES to workaround this issue.
Can you share nvme id-ctrl -H /dev/nvme0 | grep oncs -A 8 output?
$ sudo nvme id-ctrl -H /dev/nvme0 | grep oncs -A 8 oncs : 0x1f [7:7] : 0 Verify Not Supported [6:6] : 0 Timestamp Not Supported [5:5] : 0 Reservations Not Supported [4:4] : 0x1 Save and Select Supported [3:3] : 0x1 Write Zeroes Supported [2:2] : 0x1 Data Set Management Supported [1:1] : 0x1 Write Uncorrectable Supported [0:0] : 0x1 Compare Supported
linux-stable-mirror@lists.linaro.org