return ret;
}
+static unsigned
+malloc_get_numa_socket(void)
+{
+ const struct internal_config *internal_conf =
+ eal_get_internal_configuration();
+ unsigned socket_id = rte_socket_id();
+
+ if (socket_id != (unsigned)SOCKET_ID_ANY)
+ return socket_id;
+
+ /* return first id where memory is available, otherwise 0 */
+ for (socket_id = 0; socket_id < RTE_MAX_NUMA_NODES; ++socket_id)
+ if (internal_conf->socket_mem[socket_id] != 0)
+ return socket_id;
+
+ return 0;
+}
+
void *
malloc_heap_alloc(const char *type, size_t size, int socket_arg,
unsigned int flags, size_t align, size_t bound, bool contig)
char name[RTE_HEAP_NAME_MAX_LEN];
} __rte_cache_aligned;
-static inline unsigned
-malloc_get_numa_socket(void)
-{
- unsigned socket_id = rte_socket_id();
-
- if (socket_id == (unsigned)SOCKET_ID_ANY)
- return 0;
-
- return socket_id;
-}
-
void *
malloc_heap_alloc(const char *type, size_t size, int socket, unsigned int flags,
size_t align, size_t bound, bool contig);