aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorPaul Mundt <[email protected]>2009-10-16 17:20:58 +0900
committerPaul Mundt <[email protected]>2009-10-16 17:20:58 +0900
commitf533c3d340536198a4889a42a68d6c0d79a504e7 (patch)
tree1e45cd7687b4b0eb9eca5339d92c79abae5db0b5 /tools/perf/scripts/python
parent94eab0bb206443dd7480349804f64e2bba8dc6e1 (diff)
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 <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions