1. 16 10月, 2009 1 次提交
    • P
      sh: Idle loop chainsawing for SMP-based light sleep. · f533c3d3
      Paul Mundt 提交于
      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: NPaul Mundt <lethal@linux-sh.org>
      f533c3d3
  2. 23 6月, 2009 1 次提交
  3. 02 4月, 2009 1 次提交
  4. 22 12月, 2008 1 次提交