[dpdk-dev] [PATCH] build: fix memory init failures with 32-bit builds
Bruce Richardson
bruce.richardson at intel.com
Thu Jul 2 12:57:21 CEST 2020
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.burakov at intel.com
Signed-off-by: Bruce Richardson <bruce.richardson at 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
More information about the dev
mailing list