[PATCH 0/3] nvme-cli: NIC topology aware I/O queue scaling
Nilay Shroff <[email protected]>
| Newsgroups | org.infradead.lists.linux-nvme |
|---|---|
| Message-ID | <[email protected]> |
Hi, This series is a rework of the earlier patchset[1]. The main difference is that --nr-io-queues is now calculated in nvme-cli instead of in the kernel when establishing an NVMe/TCP connection. This rework is based on the feedback received[2] from the netdev maintainers. The original patchset determined the number of NVMe/TCP I/O queues based on the number of online CPUs and the number of hardware queues available on the NIC in kernel driver. This series moves that logic to nvme-cli. When --nr-io-queues is not explicitly specified, nvme-cli determines the egress netdev for the NVMe/TCP connection, retrieves its current hardware queue count, and calculates the default as: min(nr_hw_queues, num_online_cpus) The remaining patches from the original series, which expose NVMe/TCP queue and flow information through debugfs, are still useful for subsequent CPU/NIC topology tuning. I will send those changes as a separate patchset. The two patchsets are independent and can be reviewed and merged separately. As usual, comments, feedback, and suggestions are most welcome! Thanks! [1] https://lore.kernel.org/all/[email protected]/ [2] https://lore.kernel.org/all/[email protected]/ Nilay Shroff (3): shared/net-util-linux: add support for retrieving egress netdev shared/net-util-linux: add support for retrieving NIC h/w queues fabrics: determine --nr-io-queues when not explicitly specified shared/net-util-linux.c | 265 ++++++++++++++++++++++++++++++++++++++++ shared/net-util.h | 32 +++++ src/fabrics.c | 77 +++++++++++- 3 files changed, 371 insertions(+), 3 deletions(-) -- 2.53.0