[3.11.y.z extended stable] Patch "powerpc: Don't setup CPUs with bad status" has been added to staging queue

Luis Henriques luis.henriques at canonical.com
Thu Jun 26 14:27:18 UTC 2014


On Thu, Jun 26, 2014 at 09:14:25AM -0500, Michael Neuling wrote:
> Luis,
> 
> We should also include this patch that just went upstream:
> 
>   commit 6663a4fa6711050036562ddfd2086edf735fae21
>   Author: Scott Wood <scottwood at freescale.com>
>   powerpc: Don't skip ePAPR spin-table CPUs
> 
> This fixes this an issue with this patch on embedded powerpc
> processors.  
> 
> Mikey

Great, I'll queue it for the 3.11 kernel.  Thanks Michael.

Cheers,
--
Luís

> 
> On Thu, 2014-06-26 at 11:37 +0100, Luis Henriques wrote:
> > This is a note to let you know that I have just added a patch titled
> > 
> >     powerpc: Don't setup CPUs with bad status
> > 
> > to the linux-3.11.y-queue branch of the 3.11.y.z extended stable tree 
> > which can be found at:
> > 
> >  http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.11.y-queue
> > 
> > If you, or anyone else, feels it should not be added to this tree, please 
> > reply to this email.
> > 
> > For more information about the 3.11.y.z tree, see
> > https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
> > 
> > Thanks.
> > -Luis
> > 
> > ------
> > 
> > >From 29dbefe0b5e5e631fdd0b30d608cb467bfcf094a Mon Sep 17 00:00:00 2001
> > From: Michael Neuling <mikey at neuling.org>
> > Date: Fri, 6 Jun 2014 14:28:51 +1000
> > Subject: powerpc: Don't setup CPUs with bad status
> > 
> > commit 59a53afe70fd530040bdc69581f03d880157f15a upstream.
> > 
> > OPAL will mark a CPU that is guarded as "bad" in the status property of the CPU
> > node.
> > 
> > Unfortunatley Linux doesn't check this property and will put the bad CPU in the
> > present map.  This has caused hangs on booting when we try to unsplit the core.
> > 
> > This patch checks the CPU is avaliable via this status property before putting
> > it in the present map.
> > 
> > Signed-off-by: Michael Neuling <mikey at neuling.org>
> > Tested-by: Anton Blanchard <anton at samba.org>
> > Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> > Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
> > ---
> >  arch/powerpc/kernel/setup-common.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
> > index ee0e0553ae0e..b12be98e0972 100644
> > --- a/arch/powerpc/kernel/setup-common.c
> > +++ b/arch/powerpc/kernel/setup-common.c
> > @@ -457,7 +457,7 @@ void __init smp_setup_cpu_maps(void)
> >  		for (j = 0; j < nthreads && cpu < nr_cpu_ids; j++) {
> >  			DBG("    thread %d -> cpu %d (hard id %d)\n",
> >  			    j, cpu, be32_to_cpu(intserv[j]));
> > -			set_cpu_present(cpu, true);
> > +			set_cpu_present(cpu, of_device_is_available(dn));
> >  			set_hard_smp_processor_id(cpu, be32_to_cpu(intserv[j]));
> >  			set_cpu_possible(cpu, true);
> >  			cpu++;
> > --
> > 1.9.1
> > 
> 




More information about the kernel-team mailing list