1. 03 Mar, 2007 15 commits
  2. 24 Feb, 2007 21 commits
  3. 20 Feb, 2007 2 commits
  4. 05 Feb, 2007 2 commits
    • Chris Wright's avatar
      Linux 2.6.19.3 · b321cb58
      Chris Wright authored
      b321cb58
    • Ingo Molnar's avatar
      [PATCH] sched: fix cond_resched_softirq() offset · 9868646d
      Ingo Molnar authored
      Remove the __resched_legal() check: it is conceptually broken.  The biggest
      problem it had is that it can mask buggy cond_resched() calls.  A
      cond_resched() call is only legal if we are not in an atomic context, with
      two narrow exceptions:
      
       - if the system is booting
       - a reacquire_kernel_lock() down() done while PREEMPT_ACTIVE is set
      
      But __resched_legal() hid this and just silently returned whenever
      these primitives were called from invalid contexts. (Same goes for
      cond_resched_locked() and cond_resched_softirq()).
      
      Furthermore, the __legal_resched(0) call was buggy in that it caused
      unnecessarily long softirq latencies via cond_resched_softirq().  (which is
      only called from softirq-off sections, hence the code did nothing.)
      
      The fix is to resurrect the efficiency of the might_sleep checks and to
      only allow the narrow exceptions.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      [chrisw: backport to 2.6.19.2]
      Signed-off-by: default avatarChris Wright <chrisw@sous-sol.org>
      9868646d