When building with meson, the default size of virtual address space reserved for mapping pages was globally set at 512GB, which is too big for use in 32-bit processes. To match the behaviour with "make", we configure this to be 512GB for 64-bit and 2MB for 32-bit builds.
Bugzilla ID: 498 Fixes: 66cc45e293ed ("mem: replace memseg with memseg lists") Cc: anatoly.bura...@intel.com Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> --- config/meson.build | 6 ++++++ config/rte_config.h | 1 - 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/config/meson.build b/config/meson.build index 351e268c1..72fdabff2 100644 --- a/config/meson.build +++ b/config/meson.build @@ -238,6 +238,12 @@ dpdk_conf.set('RTE_ENABLE_TRACE_FP', get_option('enable_trace_fp')) dpdk_conf.set('RTE_MAX_VFIO_GROUPS', 64) dpdk_conf.set('RTE_DRIVER_MEMPOOL_BUCKET_SIZE_KB', 64) dpdk_conf.set('RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', true) +if dpdk_conf.get('RTE_ARCH_64') + dpdk_conf.set('RTE_MAX_MEM_MB', 524288) +else +# for 32-bits we need smaller reserved memory areas + dpdk_conf.set('RTE_MAX_MEM_MB', 2048) +endif compile_time_cpuflags = [] diff --git a/config/rte_config.h b/config/rte_config.h index e9201fd46..086acf74a 100644 --- a/config/rte_config.h +++ b/config/rte_config.h @@ -38,7 +38,6 @@ #define RTE_MAX_MEM_MB_PER_LIST 32768 #define RTE_MAX_MEMSEG_PER_TYPE 32768 #define RTE_MAX_MEM_MB_PER_TYPE 65536 -#define RTE_MAX_MEM_MB 524288 #define RTE_MAX_MEMZONE 2560 #define RTE_MAX_TAILQ 32 #define RTE_LOG_DP_LEVEL RTE_LOG_INFO -- 2.25.1