mem: fix allocation failure on non-NUMA kernel
authorNick Connolly <nick.connolly@mayadata.io>
Mon, 12 Oct 2020 19:28:03 +0000 (20:28 +0100)
committerDavid Marchand <david.marchand@redhat.com>
Tue, 13 Oct 2020 12:02:18 +0000 (14:02 +0200)
commit9d42642e866ea100b190ad8de4c8b27d1b310a13
tree7e4bd99579786901d8a6c66976457c4ae4260557
parent7cf3d07c3adcb015c303e4cdf2ef9712a65ce46d
mem: fix allocation failure on non-NUMA kernel

Running dpdk-helloworld on Linux with lib numa present, but no kernel
support for NUMA (CONFIG_NUMA=n) causes rte_service_init() to fail with
EAL: error allocating rte services array.

alloc_seg() calls get_mempolicy to verify that the allocation
has happened on the correct socket, but receives ENOSYS from
the kernel and fails the allocation.

The allocated socket should only be verified if check_numa() is true.

Fixes: 2a96c88be83e ("mem: ease init in a docker container")
Cc: stable@dpdk.org
Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
Reviewed-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
lib/librte_eal/linux/eal_memalloc.c