Number of data and admin queues in use
Keith Busch
kbusch at kernel.org
Tue Jul 15 07:39:00 PDT 2025
On Tue, Jul 15, 2025 at 03:58:01AM +0200, Thomas Glanzmann wrote:
> I one heard that the Linux kernel allocates one queue per processor (core or
> hyperthread). I can see that using /proc/interrupts but only on physical
> devices, but not on NVME/TCP systems.
For PCI, the driver automatically handles the queue and interrupt setup,
and cpu assignment.
For TCP (and all fabrics transports), you have to specificy how many
connections you want to make ("nr_io_queues=X") when you're setting up
your initial fabrics connection.
If you want to see what you've ended up with, you can consult the
namespaces' sysfs entries:
How many IO queues are there:
# ls -1 /sys/block/nvme0n1/mq/ | wc -l
64
How large is each IO queue:
# cat /sys/block/nvme0n1/queue/nr_requests
1023
More information about the Linux-nvme
mailing list