dpdk/0019-reinit-support-return-ok.patch
jiangheng12 d4055b132d distinguish self and upstream patches number
(cherry picked from commit 0ab339a4091e230de22358f217d28e0e89a274ac)
2023-06-19 15:35:59 +08:00

41 lines
1.1 KiB
Diff

From 12a22b874a4852996dcec56ae30c7a17551bfeeb Mon Sep 17 00:00:00 2001
From: wuchangsheng <wuchangsheng2@huawei.com>
Date: Thu, 6 Oct 2022 16:35:16 +0800
Subject: [PATCH] reinit support return ok
---
lib/eal/linux/eal.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c
index 7ca8bb2..fc2a7fd 100644
--- a/lib/eal/linux/eal.c
+++ b/lib/eal/linux/eal.c
@@ -1055,6 +1055,7 @@ rte_eal_init(int argc, char **argv)
int i, fctret, ret;
pthread_t thread_id;
static uint32_t run_once;
+ static uint32_t reinit_ok = 0;
uint32_t has_run = 0;
const char *p;
static char logid[PATH_MAX];
@@ -1072,8 +1073,15 @@ rte_eal_init(int argc, char **argv)
return -1;
}
+ if (argc > 1 && !strncmp(argv[1], "reinit-ok", strlen("reinit-ok"))) {
+ reinit_ok = 1;
+ }
+
if (!__atomic_compare_exchange_n(&run_once, &has_run, 1, 0,
__ATOMIC_RELAXED, __ATOMIC_RELAXED)) {
+ if (reinit_ok) {
+ return 0;
+ }
rte_eal_init_alert("already called initialization.");
rte_errno = EALREADY;
return -1;
--
2.27.0