net/memif: allocate socket hash on any NUMA socket
Checks
Commit Message
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 <git@mail1.yoursunny.com>
---
drivers/net/memif/memif_socket.c | 1 +
1 file changed, 1 insertion(+)
Comments
On 9/28/2021 2:51 PM, Junxiao Shi wrote:
> 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 <git@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(¶ms);
> }
>
>
looks good to me. cc'ed the memif maintainer.
> On 9/28/2021 2:51 PM, Junxiao Shi wrote:
> > 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 <git@mail1.yoursunny.com>
Looks ok. Thanks for the patch!
On 10/4/2021 1:02 PM, Jakub Grajciar -X (jgrajcia - PANTHEON TECH SRO at Cisco) wrote:
>
>
>> On 9/28/2021 2:51 PM, Junxiao Shi wrote:
>>> 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 <git@mail1.yoursunny.com>
>
Reviewed-by: Jakub Grajciar <jgrajcia@cisco.com>
Applied to dpdk-next-net/main, thanks.
@@ -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(¶ms);
}