From: okaya@kernel.org
To: Anatoly Burakov <anatoly.burakov@intel.com>
Cc: dev@dpdk.org, Sinan Kaya <okaya@kernel.org>
Subject: [PATCH v3 4/7] memseg: init once
Date: Mon, 14 Aug 2023 23:52:36 -0400 [thread overview]
Message-ID: <20230815035239.1365591-5-okaya@kernel.org> (raw)
In-Reply-To: <20230815035239.1365591-1-okaya@kernel.org>
From: Sinan Kaya <okaya@kernel.org>
Initialize memory segments just once and bail out if called
multiple times.
Signed-off-by: Sinan Kaya <okaya@kernel.org>
---
lib/eal/linux/eal_memory.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/lib/eal/linux/eal_memory.c b/lib/eal/linux/eal_memory.c
index 9b6f08fba8..df0aa9ccc7 100644
--- a/lib/eal/linux/eal_memory.c
+++ b/lib/eal/linux/eal_memory.c
@@ -57,6 +57,7 @@
*/
static int phys_addrs_available = -1;
+static bool memseg_initialized;
#define RANDOMIZE_VA_SPACE_FILE "/proc/sys/kernel/randomize_va_space"
@@ -1920,6 +1921,10 @@ rte_eal_memseg_init(void)
{
/* increase rlimit to maximum */
struct rlimit lim;
+ int ret;
+
+ if (memseg_initialized)
+ return 0;
#ifndef RTE_EAL_NUMA_AWARE_HUGEPAGES
const struct internal_config *internal_conf =
@@ -1948,11 +1953,16 @@ rte_eal_memseg_init(void)
}
#endif
- return rte_eal_process_type() == RTE_PROC_PRIMARY ?
+ ret = rte_eal_process_type() == RTE_PROC_PRIMARY ?
#ifndef RTE_ARCH_64
memseg_primary_init_32() :
#else
memseg_primary_init() :
#endif
memseg_secondary_init();
+
+ if (!ret)
+ memseg_initialized = true;
+
+ return ret;
}
--
2.25.1
next prev parent reply other threads:[~2023-08-15 3:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-15 3:52 [PATCH v3 0/7] support reinit flow okaya
2023-08-15 3:52 ` [PATCH v3 1/7] eal: fixes for re-initialization issues okaya
2023-08-15 3:52 ` [PATCH v3 2/7] tailq: skip init if already initialized okaya
2023-08-15 3:52 ` [PATCH v3 3/7] eal_memzone: bail out on initialized okaya
2023-08-15 3:52 ` okaya [this message]
2023-08-15 3:52 ` [PATCH v3 5/7] eal_memory: skip initialization okaya
2023-08-15 3:52 ` [PATCH v3 6/7] eal_interrupts: don't reinitialize threads okaya
2023-08-15 3:52 ` [PATCH v3 7/7] eal: initialize worker threads once okaya
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230815035239.1365591-5-okaya@kernel.org \
--to=okaya@kernel.org \
--cc=anatoly.burakov@intel.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.