[PATCH] mem: explicitly initialise shared locks

David Marchand david.marchand at redhat.com
Fri Oct 27 10:00:48 CEST 2023


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 <thomas at monjalon.net>
Signed-off-by: David Marchand <david.marchand at 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



More information about the dev mailing list