eal: disable NUMA related warnings on non-NUMA systems
authorHemant Agrawal <hemant.agrawal@nxp.com>
Mon, 24 Jul 2017 09:20:27 +0000 (14:50 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Sun, 30 Jul 2017 21:29:17 +0000 (23:29 +0200)
Disable multiple NUMA warnings on non-NUMA systems.

"EAL: eal_parse_sysfs_value(): cannot open sysfs value
/sys/bus/pci/devices/0000:00:00.0/numa_node
EAL: numa_node is invalid or not present. Set it 0 as default
EAL: cannot open /proc/self/numa_maps, consider that all memory is
in socket_id 0"

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Tested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
lib/librte_eal/linuxapp/eal/eal_memory.c
lib/librte_eal/linuxapp/eal/eal_pci.c

index daead31..5279128 100644 (file)
@@ -610,8 +610,8 @@ find_numasocket(struct hugepage_file *hugepg_tbl, struct hugepage_info *hpi)
 
        f = fopen("/proc/self/numa_maps", "r");
        if (f == NULL) {
-               RTE_LOG(NOTICE, EAL, "cannot open /proc/self/numa_maps,"
-                               " consider that all memory is in socket_id 0\n");
+               RTE_LOG(NOTICE, EAL, "NUMA support not available"
+                       " consider that all memory is in socket_id 0\n");
                return 0;
        }
 
index 2041d5f..8951ce7 100644 (file)
@@ -314,10 +314,14 @@ 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)
-               dev->device.numa_node = tmp;
-       else
-               dev->device.numa_node = -1;
+       if (access(filename, F_OK) != -1) {
+               if (eal_parse_sysfs_value(filename, &tmp) == 0)
+                       dev->device.numa_node = tmp;
+               else
+                       dev->device.numa_node = -1;
+       } else {
+               dev->device.numa_node = 0;
+       }
 
        pci_name_set(dev);