net/bnxt: consolidate template table processing
[dpdk.git] / lib / librte_eal / linux / eal_memalloc.c
index 40a5c4a..6dc1b2b 100644 (file)
@@ -625,17 +625,25 @@ alloc_seg(struct rte_memseg *ms, void *addr, int socket_id,
        }
 
 #ifdef RTE_EAL_NUMA_AWARE_HUGEPAGES
-       ret = get_mempolicy(&cur_socket_id, NULL, 0, addr,
-                           MPOL_F_NODE | MPOL_F_ADDR);
-       if (ret < 0) {
-               RTE_LOG(DEBUG, EAL, "%s(): get_mempolicy: %s\n",
-                       __func__, strerror(errno));
-               goto mapped;
-       } else if (cur_socket_id != socket_id) {
-               RTE_LOG(DEBUG, EAL,
-                               "%s(): allocation happened on wrong socket (wanted %d, got %d)\n",
-                       __func__, socket_id, cur_socket_id);
-               goto mapped;
+       /*
+        * If the kernel has been built without NUMA support, get_mempolicy()
+        * will return an error. If check_numa() returns false, memory
+        * allocation is not NUMA aware and the socket_id should not be
+        * checked.
+        */
+       if (check_numa()) {
+               ret = get_mempolicy(&cur_socket_id, NULL, 0, addr,
+                                       MPOL_F_NODE | MPOL_F_ADDR);
+               if (ret < 0) {
+                       RTE_LOG(DEBUG, EAL, "%s(): get_mempolicy: %s\n",
+                               __func__, strerror(errno));
+                       goto mapped;
+               } else if (cur_socket_id != socket_id) {
+                       RTE_LOG(DEBUG, EAL,
+                                       "%s(): allocation happened on wrong socket (wanted %d, got %d)\n",
+                               __func__, socket_id, cur_socket_id);
+                       goto mapped;
+               }
        }
 #else
        if (rte_socket_count() > 1)