Skip to content

Commit 1be6f10

Browse files
committed
Revert "powerpc: Secondary CPUs must set cpu_callin_map after setting active and online"
This reverts commit 7c5c92e. Although this did fix the bug it was aimed at, it also broke secondary startup on platforms that use give/take_timebase(). Unfortunately we didn't detect that while it was in next. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
1 parent c1caae3 commit 1be6f10

File tree

1 file changed

+1
-8
lines changed

1 file changed

+1
-8
lines changed

arch/powerpc/kernel/smp.c

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -700,6 +700,7 @@ void start_secondary(void *unused)
700700
smp_store_cpu_info(cpu);
701701
set_dec(tb_ticks_per_jiffy);
702702
preempt_disable();
703+
cpu_callin_map[cpu] = 1;
703704

704705
if (smp_ops->setup_cpu)
705706
smp_ops->setup_cpu(cpu);
@@ -738,14 +739,6 @@ void start_secondary(void *unused)
738739
notify_cpu_starting(cpu);
739740
set_cpu_online(cpu, true);
740741

741-
/*
742-
* CPU must be marked active and online before we signal back to the
743-
* master, because the scheduler needs to see the cpu_online and
744-
* cpu_active bits set.
745-
*/
746-
smp_wmb();
747-
cpu_callin_map[cpu] = 1;
748-
749742
local_irq_enable();
750743

751744
cpu_startup_entry(CPUHP_ONLINE);

0 commit comments

Comments
 (0)