bus/pci: fix unknown NUMA node value on Windows
authorPallavi Kadam <pallavi.kadam@intel.com>
Wed, 22 Sep 2021 21:19:06 +0000 (14:19 -0700)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 23 Sep 2021 17:09:26 +0000 (19:09 +0200)
On older CPUs, currently numa_node returns value only for socket 0.
Instead, application should be able to make correct decision and
also to keep consistent with the Linux code,
replace the return value to -1.

Fixes: ac7c98d04f2c ("bus/pci: ignore missing NUMA node on Windows")
Cc: stable@dpdk.org
Reported-by: Vipin Varghese <vipin.varghese@intel.com>
Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
Acked-by: Tal Shnaiderman <talshn@nvidia.com>
drivers/bus/pci/windows/pci.c

index d39a774..343ef6f 100644 (file)
@@ -5,6 +5,7 @@
 #include <rte_errno.h>
 #include <rte_log.h>
 #include <rte_eal.h>
+#include <rte_memory.h>
 
 #include "private.h"
 #include "pci_netuio.h"
@@ -243,7 +244,7 @@ get_device_resource_info(HDEVINFO dev_info,
                DWORD error = GetLastError();
                if (error == ERROR_NOT_FOUND) {
                        /* On older CPUs, NUMA is not bound to PCIe locality. */
-                       dev->device.numa_node = 0;
+                       dev->device.numa_node = SOCKET_ID_ANY;
                        return ERROR_SUCCESS;
                }
                RTE_LOG_WIN32_ERR("SetupDiGetDevicePropertyW"