Subject: Re: [PATCH] powerpc/smp: Fix Non-boot cpus cannot be bring up.

From: Benjamin Herrenschmidt <[email-masked]>
Date: Tue, 23 Dec 2014 10:55:53 +0100

On Tue, 2014-12-23 at 12:00 +1100, Michael Ellerman wrote:
> On Mon, 2014-12-22 at 14:38 +0800, Dongsheng Wang wrote:
> > From: Wang Dongsheng <[email-masked]>
> > 
> > Kernel cannot bring up Non-boot cpus always get "Processor xx is stuck".
> > this issue bring by http://patchwork.ozlabs.org/patch/418912/ (powerpc:
> > Secondary CPUs must set cpu_callin_map after setting active and online)
> > We need to take timebase after bootup cpu give the timebase firstly.
> > 
> > When start_secondary, non-boot cpus set cpu_callin_map for boot cpu
> > after that boot cpu will give the timebase for non-boot cpu. Otherwise
> > non-boot cpus will fall in dead loop to waiting bootup cpu to give
> > imebase.
> 
> Right.
> 
> However, doesn't this introduce the possibility that the secondary cpu is up
> and marked online but has an unsynchronised clock?

As long as it doesn't execute anything (and at that point it shouldn't
have interrupts enabled) it should be ok. The TB cannot be observed
outside of that CPU.

Cheers,
Ben.