소스 검색

[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: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton 19 년 전
부모
커밋
e4d76e1c0b
2개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 0
      arch/powerpc/kernel/smp.c
  2. 1 1
      arch/ppc/kernel/idle.c

+ 1 - 0
arch/powerpc/kernel/smp.c

@@ -510,6 +510,7 @@ int __devinit start_secondary(void *unused)
 
 	smp_store_cpu_info(cpu);
 	set_dec(tb_ticks_per_jiffy);
+	preempt_disable();
 	cpu_callin_map[cpu] = 1;
 
 	smp_ops->setup_cpu(cpu);

+ 1 - 1
arch/ppc/kernel/idle.c

@@ -63,7 +63,7 @@ void cpu_idle(void)
 	int cpu = smp_processor_id();
 
 	for (;;) {
-		while (need_resched()) {
+		while (!need_resched()) {
 			if (ppc_md.idle != NULL)
 				ppc_md.idle();
 			else