Re: Linux 3.4-rc7

From: John David Anglin
Date: Sun May 13 2012 - 16:40:25 EST


Yes, the revised change fixes the compilation error. I'll know in a while if
my config boots.

Thanks,
Dave

On 13-May-12, at 4:28 PM, Srivatsa S. Bhat wrote:

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 <srivatsa.bhat@xxxxxxxxxxxxxxxxxx>

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 <srivatsa.bhat@xxxxxxxxxxxxxxxxxx>
---

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 <linux/delay.h>
#include <linux/bitops.h>
#include <linux/ftrace.h>
+#include <linux/cpu.h>

#include <linux/atomic.h>
#include <asm/current.h>
@@ -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);

--
To unsubscribe from this list: send the line "unsubscribe linux- parisc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html


--
John David Anglin dave.anglin@xxxxxxxx



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/