From 07b27cd19903be2b0dfe1c2828de1ed4dabb3d86 Mon Sep 17 00:00:00 2001 From: ligd Date: Thu, 28 Mar 2024 22:37:18 +0800 Subject: [PATCH] sched: swap setting for g_npidhash in case of crash in kmm_zalloc, and crash dump use nxsched_foreach() Signed-off-by: ligd --- sched/init/nx_start.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sched/init/nx_start.c b/sched/init/nx_start.c index 10c68fd5e29..2cdf6f5a1a8 100644 --- a/sched/init/nx_start.c +++ b/sched/init/nx_start.c @@ -606,15 +606,17 @@ void nx_start(void) /* Initialize the logic that determine unique process IDs. */ - g_npidhash = 1 << LOG2_CEIL(CONFIG_PID_INITIAL_COUNT); - while (g_npidhash <= CONFIG_SMP_NCPUS) + i = 1 << LOG2_CEIL(CONFIG_PID_INITIAL_COUNT); + while (i <= CONFIG_SMP_NCPUS) { - g_npidhash <<= 1; + i <<= 1; } - g_pidhash = kmm_zalloc(sizeof(*g_pidhash) * g_npidhash); + g_pidhash = kmm_zalloc(sizeof(*g_pidhash) * i); DEBUGASSERT(g_pidhash); + g_npidhash = i; + /* IDLE Group Initialization **********************************************/ idle_group_initialize();