MIPS: SMP: Move the AP sync point before the non-parallel aware functions
authorGregory CLEMENT <gregory.clement@bootlin.com>
Mon, 5 May 2025 12:57:58 +0000 (14:57 +0200)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Tue, 20 May 2025 06:43:24 +0000 (08:43 +0200)
commit4cc7543eb494daae7d6282e17459e1b06eff82aa
treef1386b59f4274a6982d4e01497c8f9df5617ebc2
parent3b3704261e851e25983860e4c352f1f73786f4ab
MIPS: SMP: Move the AP sync point before the non-parallel aware functions

When CONFIG_HOTPLUG_PARALLEL is enabled, the code executing before
cpuhp_ap_sync_alive() is executed in parallel, while after it is
serialized. The functions set_cpu_sibling_map() and set_cpu_core_map()
were not designed to be executed in parallel, so by moving the
cpuhp_ap_sync_alive() before cpuhp_ap_sync_alive(), we then ensure
they will be called serialized.

The measurement done on EyeQ5 did not show any relevant boot time
increase after applying this patch.

Fixes: 76c43eb507bc ("MIPS: SMP: Implement parallel CPU bring up for EyeQ")
Reported-by: Huacai Chen <chenhuacai@kernel.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/kernel/smp.c