Re: [PATCH 2.6.14-rc1-git5] sched: disable preempt in idle tasks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andrew Morton wrote:
Nick Piggin <[email protected]> wrote:

This patch should hopefully fix Nigel's bug.

Split out from sched-resched-opt.patch. Tested on i386 with acpi idle
and poll idle (previous iterations tested on various other architectures).


This makes the emt64 machine reboot itself, which iirc was the behaviour in
the failing patch from which this one was split out.

The machine is using acpi_processor_idle().


OK, thanks. That must be the preempt_disable() being called in
start_secondary(). Maybe I should have listened to the comment.

Can you try the following patch?

--
SUSE Labs, Novell Inc.

Index: linux-2.6/arch/x86_64/kernel/smpboot.c
===================================================================
--- linux-2.6.orig/arch/x86_64/kernel/smpboot.c	2005-09-22 01:04:03.000000000 +1000
+++ linux-2.6/arch/x86_64/kernel/smpboot.c	2005-09-22 13:24:11.000000000 +1000
@@ -473,8 +473,8 @@ void __cpuinit start_secondary(void)
 	 * booting is too fragile that we want to limit the
 	 * things done here to the most necessary things.
 	 */
-	preempt_disable();
 	cpu_init();
+	preempt_disable();
 	smp_callin();
 
 	/* otherwise gcc will move up the smp_processor_id before the cpu_init */

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux