Locks in the DPDK shared memory were not initialised so far. This is not really a problem as the early_mem_config structure is stored in the bss section (and so set to 0 by default). Yet, for consistency, explicitly initialise those locks with relevant initialiser macros.
Suggested-by: Thomas Monjalon <tho...@monjalon.net> Signed-off-by: David Marchand <david.march...@redhat.com> --- lib/eal/common/eal_common_config.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/eal/common/eal_common_config.c b/lib/eal/common/eal_common_config.c index 0daf0f3188..2d6c04a49a 100644 --- a/lib/eal/common/eal_common_config.c +++ b/lib/eal/common/eal_common_config.c @@ -8,7 +8,14 @@ #include "eal_memcfg.h" /* early configuration structure, when memory config is not mmapped */ -static struct rte_mem_config early_mem_config; +static struct rte_mem_config early_mem_config = { + .mlock = RTE_RWLOCK_INITIALIZER, + .qlock = RTE_RWLOCK_INITIALIZER, + .mplock = RTE_RWLOCK_INITIALIZER, + .tlock = RTE_SPINLOCK_INITIALIZER, + .ethdev_lock = RTE_SPINLOCK_INITIALIZER, + .memory_hotplug_lock = RTE_RWLOCK_INITIALIZER, +}; /* Address of global and public configuration */ static struct rte_config rte_config = { -- 2.41.0