Previously, memif socket hash is always allocated on NUMA socket 0.
If the application is entirely running on another NUMA socket and EAL
--socket-limit prevents memory allocation on NUMA socket 0, memif
creation fails with "HASH: memory allocation failed" error.

This patch allows allocating memif socket hash on any NUMA socket.

Signed-off-by: Junxiao Shi <g...@mail1.yoursunny.com>
---
 drivers/net/memif/memif_socket.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/memif/memif_socket.c b/drivers/net/memif/memif_socket.c
index f58ff4c0cb..364e818d65 100644
--- a/drivers/net/memif/memif_socket.c
+++ b/drivers/net/memif/memif_socket.c
@@ -946,6 +946,7 @@ memif_create_socket_hash(void)
        params.key_len = MEMIF_SOCKET_UN_SIZE;
        params.hash_func = rte_jhash;
        params.hash_func_init_val = 0;
+       params.socket_id = SOCKET_ID_ANY;
        return rte_hash_create(&params);
 }
 
-- 
2.17.1

  • [dpdk-dev] [PATC... Junxiao Shi

Reply via email to