aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>2017-07-21 10:11:19 +0100
committerThomas Monjalon <thomas@monjalon.net>2017-07-21 19:26:29 +0300
commitf0e0e86aa35d895d4e5a0d95f054b701bcdf3c9e (patch)
treee3c49197499c5a8cf879a106b43e2fa127d166cf
parentc33ade1227a5d7bfb96cb34311bae2e5d7014f3e (diff)
pci: move NUMA node check from scan to probe
Commit 8a04cb612589 ("pci: set default numa node for broken systems") added logic to default to NUMA node 0 when sysfs numa_node information was wrong or not available. Unfortunately there are many devices with wrong NUMA node information that DPDK does not care about but still show warnings for them. Instead, only check for invalid NUMA node information for devices managed by the DPDK. Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
-rw-r--r--lib/librte_eal/common/eal_common_pci.c5
-rw-r--r--lib/librte_eal/linuxapp/eal/eal_pci.c11
2 files changed, 8 insertions, 8 deletions
diff --git a/lib/librte_eal/common/eal_common_pci.c b/lib/librte_eal/common/eal_common_pci.c
index eaa041ea2..52fd38cdd 100644
--- a/lib/librte_eal/common/eal_common_pci.c
+++ b/lib/librte_eal/common/eal_common_pci.c
@@ -226,6 +226,11 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
return 1;
}
+ if (dev->device.numa_node < 0) {
+ RTE_LOG(WARNING, EAL, " Invalid NUMA socket, default to 0\n");
+ dev->device.numa_node = 0;
+ }
+
RTE_LOG(INFO, EAL, " probe driver: %x:%x %s\n", dev->id.vendor_id,
dev->id.device_id, dr->driver.name);
diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c b/lib/librte_eal/linuxapp/eal/eal_pci.c
index 556ae2c7a..2041d5f34 100644
--- a/lib/librte_eal/linuxapp/eal/eal_pci.c
+++ b/lib/librte_eal/linuxapp/eal/eal_pci.c
@@ -314,15 +314,10 @@ pci_scan_one(const char *dirname, const struct rte_pci_addr *addr)
snprintf(filename, sizeof(filename), "%s/numa_node",
dirname);
- if (eal_parse_sysfs_value(filename, &tmp) == 0 &&
- tmp < RTE_MAX_NUMA_NODES)
+ if (eal_parse_sysfs_value(filename, &tmp) == 0)
dev->device.numa_node = tmp;
- else {
- RTE_LOG(WARNING, EAL,
- "numa_node is invalid or not present. "
- "Set it 0 as default\n");
- dev->device.numa_node = 0;
- }
+ else
+ dev->device.numa_node = -1;
pci_name_set(dev);