[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250523-hotplug-paralell-fix2-v1-1-45a9f84587fd@bootlin.com>
Date: Fri, 23 May 2025 09:58:15 +0200
From: Gregory CLEMENT <gregory.clement@...tlin.com>
To: Thomas Bogendoerfer <tsbogend@...ha.franken.de>
Cc: Huacai Chen <chenhuacai@...nel.org>,
Jiaxun Yang <jiaxun.yang@...goat.com>,
Vladimir Kondratiev <vladimir.kondratiev@...ileye.com>,
Théo Lebrun <theo.lebrun@...tlin.com>,
Tawfik Bayouk <tawfik.bayouk@...ileye.com>,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>, linux-mips@...r.kernel.org,
linux-kernel@...r.kernel.org, Gregory CLEMENT <gregory.clement@...tlin.com>
Subject: [PATCH] MIPS: SMP: Move the AP sync point before the calibration
delay
In the calibration delay process, some resources are shared, so it's
better to move it after the parallel execution part. Thanks to the
patch optimizing CPU delay calibration, this change has no impact on
the boot time improvements gained from CPU parallel boot.
Signed-off-by: Gregory CLEMENT <gregory.clement@...tlin.com>
---
Hello,
After a thorough review, as reported in [1], the CPU delay calibration
is the last potential issue area. However, I believe that with this
patch [2] applied, the source of concurrency will disappear.
Gregory
[1]: https://lore.kernel.org/linux-mips/87frgvokga.fsf@BLaptop.bootlin.com/
[2] :https://lore.kernel.org/linux-mips/20250520-smp_calib-v1-1-cd04f0a78648@bootlin.com/
---
arch/mips/kernel/smp.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index 7901b59d8f60eddefc020cf2a137716af963f09e..4868e79f3b30e9d80fe6390785b297c35d8c02a3 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -371,12 +371,12 @@ asmlinkage void start_secondary(void)
* to an option instead of something based on .cputype
*/
- calibrate_delay();
- cpu_data[cpu].udelay_val = loops_per_jiffy;
-
#ifdef CONFIG_HOTPLUG_PARALLEL
cpuhp_ap_sync_alive();
#endif
+ calibrate_delay();
+ cpu_data[cpu].udelay_val = loops_per_jiffy;
+
set_cpu_sibling_map(cpu);
set_cpu_core_map(cpu);
---
base-commit: faefb0a59c5914b7b8f737e2ec5c82822e5bc4c7
change-id: 20250522-hotplug-paralell-fix2-1bffa02a9529
Best regards,
--
Grégory CLEMENT, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Powered by blists - more mailing lists