From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Srivatsa S. Bhat" Subject: Re: Linux 3.4-rc7 Date: Mon, 14 May 2012 01:58:47 +0530 Message-ID: <4FB0197F.6010000@linux.vnet.ibm.com> References: <4FB011E7.1000604@linux.vnet.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Cc: Linus Torvalds , "akpm@linux-foundation.org" , Ingo Molnar , Peter Zijlstra , Mikulas Patocka , stepanm@codeaurora.org, Thomas Gleixner , James.Bottomley@hansenpartnership.com, deller@gmx.de, dhowells@redhat.com, yasutake.koichi@jp.panasonic.com, eike-kernel@sf-tec.de, linux-parisc@vger.kernel.org, "linux-kernel@vger.kernel.org" To: John David Anglin Return-path: In-Reply-To: List-ID: List-Id: linux-parisc.vger.kernel.org On 05/14/2012 01:38 AM, John David Anglin wrote: > On 13-May-12, at 3:56 PM, Srivatsa S. Bhat wrote: > >> The regression was introduced in the 3.4 merge window itself (by commit >> 5fbd036b55 "sched: Cleanup cpu_active madness"). >> >> Links to the original posting: >> PA_RISC: http://marc.info/?l=linux-parisc&m=133241790810604&w=2 > > > If I had the above change, I get > > CHK include/generated/compile.h > CC arch/parisc/kernel/smp.o > arch/parisc/kernel/smp.c: In function 'smp_cpu_init': > arch/parisc/kernel/smp.c:300:2: error: implicit declaration of function > 'notify_cpu_starting' [-Werror=implicit-function-declaration] > cc1: some warnings being treated as errors > make[1]: *** [arch/parisc/kernel/smp.o] Error 1 > Sorry about that. I neither have the hardware nor the toolchain to test it. I guess this problem doesn't exist for mn10300 since it already includes linux/cpu.h when CONFIG_HOTPLUG_CPU=y Does the below updated patch help for PA-RISC? ---- From: Srivatsa S. Bhat parisc/CPU hotplug: Add missing call to notify_cpu_starting() The scheduler depends on receiving the CPU_STARTING notification, without which we end up into a lot of trouble. So add the missing call to notify_cpu_starting() in the bringup code. Signed-off-by: Srivatsa S. Bhat --- arch/parisc/kernel/smp.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/arch/parisc/kernel/smp.c b/arch/parisc/kernel/smp.c index 0bb1d63..4dc7b79 100644 --- a/arch/parisc/kernel/smp.c +++ b/arch/parisc/kernel/smp.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include @@ -295,8 +296,13 @@ smp_cpu_init(int cpunum) printk(KERN_CRIT "CPU#%d already initialized!\n", cpunum); machine_halt(); - } + } + + notify_cpu_starting(cpunum); + + ipi_call_lock(); set_cpu_online(cpunum, true); + ipi_call_unlock(); /* Initialise the idle task for this CPU */ atomic_inc(&init_mm.mm_count);