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

Reply via email to