Commit e4d76e1c authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] powerpc: sched fixups

- Re-add a hunk lost during merge: ppc64 is missing the hunk that disables
  preempt on the secondary CPUs before they call cpu_idle().

- ppc's cpu_idle() had the need_resched() test wrong.

Cc: Nick Piggin <nickpiggin@yahoo.com.au>
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Anton Blanchard <anton@samba.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent a47ab937
...@@ -510,6 +510,7 @@ int __devinit start_secondary(void *unused) ...@@ -510,6 +510,7 @@ int __devinit start_secondary(void *unused)
smp_store_cpu_info(cpu); smp_store_cpu_info(cpu);
set_dec(tb_ticks_per_jiffy); set_dec(tb_ticks_per_jiffy);
preempt_disable();
cpu_callin_map[cpu] = 1; cpu_callin_map[cpu] = 1;
smp_ops->setup_cpu(cpu); smp_ops->setup_cpu(cpu);
......
...@@ -63,7 +63,7 @@ void cpu_idle(void) ...@@ -63,7 +63,7 @@ void cpu_idle(void)
int cpu = smp_processor_id(); int cpu = smp_processor_id();
for (;;) { for (;;) {
while (need_resched()) { while (!need_resched()) {
if (ppc_md.idle != NULL) if (ppc_md.idle != NULL)
ppc_md.idle(); ppc_md.idle();
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment