[PATCH v1 1/7] eal: fixes for re-initialization issues
okaya at kernel.org
okaya at kernel.org
Tue Aug 15 03:38:20 CEST 2023
From: Graham Whyte <grwhyte at microsoft.com>
reinitialize the solib link list and clean the globals holding
state for parsing.
Signed-off-by: Sinan Kaya <okaya at kernel.org>
Signed-off by: Graham Whyte <graham.whyte at microsoft.com>
---
lib/eal/common/eal_common_options.c | 7 +++++++
lib/eal/linux/eal.c | 4 +++-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/lib/eal/common/eal_common_options.c b/lib/eal/common/eal_common_options.c
index 2d6535781b..b58df1bc5f 100644
--- a/lib/eal/common/eal_common_options.c
+++ b/lib/eal/common/eal_common_options.c
@@ -1983,6 +1983,13 @@ compute_ctrl_threads_cpuset(struct internal_config *internal_cfg)
memcpy(cpuset, &lcore_config[rte_get_main_lcore()].cpuset,
sizeof(*cpuset));
}
+
+ // Reinitialize solib_list
+ TAILQ_INIT(&solib_list);
+
+ master_lcore_parsed = 0;
+ mem_parsed = 0;
+ core_parsed = 0;
}
int
diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c
index 8c118d0d9f..5fd81d71cb 100644
--- a/lib/eal/linux/eal.c
+++ b/lib/eal/linux/eal.c
@@ -78,6 +78,8 @@ struct lcore_config lcore_config[RTE_MAX_LCORE];
int rte_cycles_vmware_tsc_map;
+static uint32_t run_once = 0;
+
int
eal_clean_runtime_dir(void)
{
@@ -504,6 +506,7 @@ eal_parse_socket_arg(char *strval, volatile uint64_t *socket_arg)
socket_arg[i] = val;
}
+ __atomic_store_n(&run_once, 0, __ATOMIC_RELAXED);
return 0;
}
@@ -960,7 +963,6 @@ int
rte_eal_init(int argc, char **argv)
{
int i, fctret, ret;
- static uint32_t run_once;
uint32_t has_run = 0;
const char *p;
static char logid[PATH_MAX];
--
2.25.1
More information about the dev
mailing list