linux/drivers/nvme/host
Nilay Shroff 226a12bf62 nvme: find numa distance only if controller has valid numa id
[ Upstream commit 863fe60ed2 ]

On system where native nvme multipath is configured and iopolicy
is set to numa but the nvme controller numa node id is undefined
or -1 (NUMA_NO_NODE) then avoid calculating node distance for
finding optimal io path. In such case we may access numa distance
table with invalid index and that may potentially refer to incorrect
memory. So this patch ensures that if the nvme controller numa node
id is -1 then instead of calculating node distance for finding optimal
io path, we set the numa node distance of such controller to default 10
(LOCAL_DISTANCE).

Link: https://lore.kernel.org/all/20240413090614.678353-1-nilay@linux.ibm.com/
Signed-off-by: Nilay Shroff <nilay@linux.ibm.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-06-12 11:03:02 +02:00
..
apple.c nvme-apple: only reset the controller when RTKit is running 2023-02-06 08:06:34 +01:00
auth.c nvme-auth: set explanation code for failure2 msgs 2023-12-20 17:00:22 +01:00
constants.c nvme: fix the name of Zone Append for verbose logging 2023-06-09 10:34:04 +02:00
core.c nvme: fix warn output about shared namespaces without CONFIG_NVME_MULTIPATH 2024-05-17 11:55:56 +02:00
fabrics.c nvme: consider also host_iface when checking ip options 2022-09-19 17:55:24 +02:00
fabrics.h nvme: fix reconnection fail due to reserved tag allocation 2024-03-26 18:20:59 -04:00
fault_inject.c block: remove the ->rq_disk field in struct request 2021-11-29 06:41:29 -07:00
fc.c nvme-fc: do not wait in vain when unloading module 2024-03-01 13:26:27 +01:00
fc.h nvme-fc: Update header and host for common definitions for LS handling 2020-05-09 16:18:33 -06:00
hwmon.c nvme-pci: add quirk for missing secondary temperature thresholds 2023-06-09 10:34:09 +02:00
ioctl.c nvme: fix miss command type check 2024-04-10 16:28:35 +02:00
Kconfig nvme-auth: Diffie-Hellman key exchange support 2022-08-02 17:14:49 -06:00
Makefile nvme: don't always build constants.o 2022-08-02 17:22:48 -06:00
multipath.c nvme: find numa distance only if controller has valid numa id 2024-06-12 11:03:02 +02:00
nvme.h nvme: fix miss command type check 2024-04-10 16:28:35 +02:00
pci.c drivers/nvme: Add quirks for device 126f:2262 2024-04-13 13:05:20 +02:00
rdma.c nvme-rdma: do not try to stop unallocated queues 2023-10-25 12:03:14 +02:00
tcp.c nvme-tcp: fix potential unbalanced freeze & unfreeze 2023-08-16 18:27:30 +02:00
trace.c nvme: implement In-Band authentication 2022-08-02 17:14:49 -06:00
trace.h nvme: fix async event trace event 2023-05-11 23:03:22 +09:00
zns.c block: pass a gendisk to blk_queue_max_open_zones and blk_queue_max_active_zones 2022-07-06 06:46:26 -06:00