kernel-ark/arch/sh
Paul Mundt f533c3d340 sh: Idle loop chainsawing for SMP-based light sleep.
This does a bit of chainsawing of the idle loop code to get light sleep
working on SMP. Previously this was forcing secondary CPUs in to sleep
mode with them not coming back if they didn't have their own local
timers. Given that we use clockevents broadcasting by default, the CPU
managing the clockevents can't have IRQs disabled before entering its
sleep state.

This unfortunately leaves us with the age-old need_resched() race in
between local_irq_enable() and cpu_sleep(), but at present this is
unavoidable. After some more experimentation it may be possible to layer
on SR.BL bit manipulation over top of this scheme to inhibit the race
condition, but given the current potential for missing wakeups, this is
left as a future exercise.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-16 17:20:58 +09:00
..
boards Merge branch 'sh/stable-updates' 2009-10-16 15:14:50 +09:00
boot sh: Obliterate the P1 area macros 2009-10-10 21:51:02 +09:00
cchips sh: mach-hp6xx: Fix up the hp6xx build for hd64461 changes. 2009-05-20 11:27:13 +09:00
configs sh: enable onenand support in kfr2r09 defconfig. 2009-09-25 11:55:07 +09:00
drivers Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx into for-linus 2009-09-23 18:31:11 +10:00
include sh: Idle loop chainsawing for SMP-based light sleep. 2009-10-16 17:20:58 +09:00
kernel sh: Idle loop chainsawing for SMP-based light sleep. 2009-10-16 17:20:58 +09:00
lib sh: Kill off dcache writeback from copy_page(). 2009-09-08 16:23:08 +09:00
lib64 sh64: Kill off special clear_page() implementation. 2009-08-04 17:17:00 +09:00
math-emu sh: Fix up the math-emu build. 2007-06-11 15:57:42 +09:00
mm Merge branch 'sh/stable-updates' 2009-10-16 15:14:50 +09:00
oprofile sh: oprofile: Kill off dead valid_kernel_stack(). 2009-08-14 04:59:50 +09:00
tools sh: sh7785lcr: fix prototype board on 32bit MMU mode. 2009-08-28 10:19:13 +09:00
Kconfig sh: ftrace: Make code modification NMI safe. 2009-10-13 16:52:50 +09:00
Kconfig.cpu sh: Tidy up SH-4A boot_cpu_data.flags probing. 2009-06-01 19:50:08 +09:00
Kconfig.debug sh: Add initial support for SH7757 CPU subtype 2009-08-21 17:25:47 +09:00
Makefile sh: Add EcoVec (SH7724) board support 2009-08-20 10:13:16 +09:00