All of lore.kernel.org
 help / color / mirror / Atom feed
* Increase maxsize of io_queue_depth for nvme driver?
@ 2025-09-14 12:45 Apachez
  2025-09-14 14:31 ` Keith Busch
  0 siblings, 1 reply; 3+ messages in thread
From: Apachez @ 2025-09-14 12:45 UTC (permalink / raw)
  To: linux-nvme

Hi,

According to current version of the nvme driver in Linux Kernel
6.17-rc5 the boundaries for io_queue_depth are set to >= 2 and <=
4095:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/nvme/host/pci.c?h=v6.17-rc5#n93

However according to
https://nvmexpress.org/wp-content/uploads/NVMe-NVM-Express-2.0a-2021.07.26-Ratified.pdf
the Maximum Queue Entries Supported (MQES) is a 15 bit value (so 32767
should be the largest possible) while other "internet sources" often
referers max queue of a NVMe to be up to 64k (65535).

Using nvme-cli on a Micron 7450 NVMe SSD 800GB I get this result:

# nvme show-regs -H /dev/nvme0 | grep -i 'Maximum Queue Entries Supported'
Maximum Queue Entries Supported (MQES): 8192

I would like to propose that NVME_PCI_MAX_QUEUE_SIZE should be
increased from 4095 to 32767 to match the current NVMe specification
regarding MQES and to give the sysop ability to fully utilize the
performance of the hardware being used, or am I missing something
here?

A spinoff of this would also be that the default of
io_queue_depth=1000 should first attempt to use the reported MQES
value by the device and if that doesnt exist the io_queue_depth should
be set to current default of 1000?

Kind Regards
Apachez


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-09-19  8:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-14 12:45 Increase maxsize of io_queue_depth for nvme driver? Apachez
2025-09-14 14:31 ` Keith Busch
     [not found]   ` <5836da67-1fdd-43ac-a039-58705ba1f370@nvidia.com>
2025-09-19  8:13     ` Apachez

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.