Skip to content

Commit 7202e97

Browse files
KAGA-KOKOPeter Zijlstra
authored andcommitted
csky/smp: Switch to hotplug core state synchronization
Switch to the CPU hotplug core state tracking and synchronization mechanim. No functional change intended. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Tested-by: Michael Kelley <mikelley@microsoft.com> Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name> Tested-by: Helge Deller <deller@gmx.de> # parisc Tested-by: Guilherme G. Piccoli <gpiccoli@igalia.com> # Steam Deck Link: https://lore.kernel.org/r/20230512205256.747254502@linutronix.de
1 parent b3091f1 commit 7202e97

3 files changed

Lines changed: 4 additions & 7 deletions

File tree

arch/csky/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ config CSKY
9696
select HAVE_REGS_AND_STACK_ACCESS_API
9797
select HAVE_STACKPROTECTOR
9898
select HAVE_SYSCALL_TRACEPOINTS
99+
select HOTPLUG_CORE_SYNC_DEAD if HOTPLUG_CPU
99100
select MAY_HAVE_SPARSE_IRQ
100101
select MODULES_USE_ELF_RELA if MODULES
101102
select OF

arch/csky/include/asm/smp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ void __init set_send_ipi(void (*func)(const struct cpumask *mask), int irq);
2323

2424
int __cpu_disable(void);
2525

26-
void __cpu_die(unsigned int cpu);
26+
static inline void __cpu_die(unsigned int cpu) { }
2727

2828
#endif /* CONFIG_SMP */
2929

arch/csky/kernel/smp.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -291,20 +291,16 @@ int __cpu_disable(void)
291291
return 0;
292292
}
293293

294-
void __cpu_die(unsigned int cpu)
294+
void arch_cpuhp_cleanup_dead_cpu(unsigned int cpu)
295295
{
296-
if (!cpu_wait_death(cpu, 5)) {
297-
pr_crit("CPU%u: shutdown failed\n", cpu);
298-
return;
299-
}
300296
pr_notice("CPU%u: shutdown\n", cpu);
301297
}
302298

303299
void __noreturn arch_cpu_idle_dead(void)
304300
{
305301
idle_task_exit();
306302

307-
cpu_report_death();
303+
cpuhp_ap_report_dead();
308304

309305
while (!secondary_stack)
310306
arch_cpu_idle();

0 commit comments

Comments
 (0)