Messages in this thread | | | Date | Wed, 22 May 2013 15:36:51 -0700 | From | David Daney <> | Subject | Re: [PATCH] MIPS: Enable interrupts before WAIT instruction. |
| |
On 05/22/2013 03:32 PM, Aaro Koskinen wrote: > Hi, > > On Thu, May 02, 2013 at 01:48:12PM -0700, David Daney wrote: >> From: David Daney <david.daney@cavium.com> >> >> As noted by Thomas Gleixner: >> >> commit cdbedc61c8 (mips: Use generic idle loop) broke MIPS as I did >> not realize that MIPS wants to invoke the wait instructions with >> interrupts enabled. >> >> Instead of enabling interrupts in arch_cpu_idle() as Thomas' initial >> patch does, we follow Linus' suggestion of doing it in the assembly >> code to prevent the compiler from rearranging things. >> >> Signed-off-by: David Daney <david.daney@cavium.com> >> Reported-by: EunBong Song <eunb.song@samsung.com> >> Cc: Thomas Gleixner <tglx@linutronix.de> >> Cc: Jonas Gorski <jogo@openwrt.org> >> --- >> >> This is only very lightly tested, we need more testing before >> declaring it the definitive fix. > > I wonder what is the status of this patch? Or is there some alternative > fix? > > I have Octeon+ board that hangs during 3.10-rc2 boot in spawn_ksoftirqd() > without this. Also, this patch does not apply cleanly to 3.10-rc2 > anymore... > > A. >
Ralf has an alternate fix here:
http://git.linux-mips.org/pub/scm/ralf/upstream-linus.git
If all goes well, it will be merged soon.
David Daney
| |