[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <23995.1278028968@neuling.org>
Date: Fri, 02 Jul 2010 10:02:48 +1000
From: Michael Neuling <mikey@...ling.org>
To: Greg KH <gregkh@...e.de>
cc: linux-kernel@...r.kernel.org, stable@...nel.org,
stable-review@...nel.org, torvalds@...ux-foundation.org,
akpm@...ux-foundation.org, alan@...rguk.ukuu.org.uk,
Benjamin Herrenschmidt <benh@...nel.crashing.org>
Subject: Re: [05/23] powerpc/pseries: Only call start-cpu when a CPU is stopped
This is not going to work without:
f8b67691828321f5c85bb853283aa101ae673130
It'll get a build failure.
Mikey
In message <20100701172856.882121276@...rk.site> you wrote:
> 2.6.27-stable review patch. If anyone has any objections, please let us know
.
>
> ------------------
>
> From: Michael Neuling <mikey@...ling.org>
>
> commit aef40e87d866355ffd279ab21021de733242d0d5 upstream.
>
> Currently we always call start-cpu irrespective of if the CPU is
> stopped or not. Unfortunatley on POWER7, firmware seems to not like
> start-cpu being called when a cpu already been started. This was not
> the case on POWER6 and earlier.
>
> This patch checks to see if the CPU is stopped or not via an
> query-cpu-stopped-state call, and only calls start-cpu on CPUs which
> are stopped.
>
> This fixes a bug with kexec on POWER7 on PHYP where only the primary
> thread would make it to the second kernel.
>
> Reported-by: Ankita Garg <ankita@...ux.vnet.ibm.com>
> Signed-off-by: Michael Neuling <mikey@...ling.org>
> Signed-off-by: Benjamin Herrenschmidt <benh@...nel.crashing.org>
> Signed-off-by: Greg Kroah-Hartman <gregkh@...e.de>
>
> ---
> arch/powerpc/platforms/pseries/smp.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> --- a/arch/powerpc/platforms/pseries/smp.c
> +++ b/arch/powerpc/platforms/pseries/smp.c
> @@ -84,6 +84,12 @@ static inline int __devinit smp_startup_
>
> pcpu = get_hard_smp_processor_id(lcpu);
>
> + /* Check to see if the CPU out of FW already for kexec */
> + if (smp_query_cpu_stopped(pcpu) == QCSS_NOT_STOPPED){
> + cpu_set(lcpu, of_spin_map);
> + return 1;
> + }
> +
> /* Fixup atomic count: it exited inside IRQ handler. */
> task_thread_info(paca[lcpu].__current)->preempt_count = 0;
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists