[v4,7/8] eal_interrupts: don't reinitialize threads
Checks
Commit Message
From: Sinan Kaya <okaya@kernel.org>
Initialize interrupt thread once and keep a flag
for further init.
Signed-off-by: Sinan Kaya <okaya@kernel.org>
---
lib/eal/linux/eal_interrupts.c | 7 +++++++
1 file changed, 7 insertions(+)
Comments
On Tue, 15 Aug 2023 10:50:22 -0400
okaya@kernel.org wrote:
>
> +/* flag for initialization */
> +static bool intr_initialized;
Could be local to function like other places with same pattern.
@@ -91,6 +91,9 @@ static struct rte_intr_source_list intr_sources;
/* interrupt handling thread */
static pthread_t intr_thread;
+/* flag for initialization */
+static bool intr_initialized;
+
/* VFIO interrupts */
#ifdef VFIO_PRESENT
@@ -1175,6 +1178,9 @@ rte_eal_intr_init(void)
{
int ret = 0;
+ if (intr_initialized)
+ return 0;
+
/* init the global interrupt source head */
TAILQ_INIT(&intr_sources);
@@ -1196,6 +1202,7 @@ rte_eal_intr_init(void)
"Failed to create thread for interrupt handling\n");
}
+ intr_initialized = true;
return ret;
}