[External] : Re: [bug-report] 5-9% FIO randomwrite ext4 perf regression on 6.12.y kernel
Keith Busch
kbusch at kernel.org
Fri Nov 22 13:09:04 PST 2024
On Fri, Nov 22, 2024 at 06:26:46PM +0000, Saeed Mirzamohammadi wrote:
> FYI, Tried disabling write zeros but still getting the same errors:
> [ 326.097275] operation not supported error, dev nvme2n1, sector 10624 op 0x9:(WRITE_ZEROES) flags 0x800 phys_seg 0 prio class 0
> [ 338.496217] nvme0n1: Dataset Management(0x9) @ LBA 10928, 256 blocks, Invalid Command Opcode (sct 0x0 / sc 0x1) DNR
> ...
>
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index d3bde17c818d5..ad2ce6008062e 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -3425,7 +3425,8 @@ static const struct pci_device_id nvme_id_table[] = {
> .driver_data = NVME_QUIRK_STRIPE_SIZE |
> NVME_QUIRK_DEALLOCATE_ZEROES |
> NVME_QUIRK_IGNORE_DEV_SUBNQN |
> - NVME_QUIRK_BOGUS_NID, },
> + NVME_QUIRK_BOGUS_NID |
> + NVME_QUIRK_DISABLE_WRITE_ZEROES, },
> { PCI_VDEVICE(INTEL, 0x0a55), /* Dell Express Flash P4600 */
> .driver_data = NVME_QUIRK_STRIPE_SIZE |
> NVME_QUIRK_DEALLOCATE_ZEROES, },
Could you instead try deleting the NVME_QUIRK_DEALLOCATE_ZEROES quirk
for this device? The driver apparently uses this to assume you meant to
do a Discard, but it sounds like the device wants an actual Write Zeroes
command here.
More information about the Linux-nvme
mailing list