• Andrew Morton's avatar
    [PATCH] real-time enhanced page allocator and throttling · 55b50278
    Andrew Morton authored
    From: Robert Love <rml@tech9.net>
    
    - Let real-time tasks dip further into the reserves than usual in
      __alloc_pages().  There are a lot of ways to special case this.  This
      patch just cuts z->pages_low in half, before doing the incremental min
      thing, for real-time tasks.  I do not do anything in the low memory slow
      path.  We can be a _lot_ more aggressive if we want.  Right now, we just
      give real-time tasks a little help.
    
    - Never ever call balance_dirty_pages() on a real-time task.  Where and
      how exactly we handle this is up for debate.  We could, for example,
      special case real-time tasks inside balance_dirty_pages().  This would
      allow us to perform some of the work (say, waking up pdflush) but not
      other work (say, the active throttling).  As it stands now, we do the
      per-processor accounting in balance_dirty_pages_ratelimited() but we
      never call balance_dirty_pages().  Lots of approaches work.  What we want
      to do is never engage the real-time task in forced writeback.
    55b50278
sched.c 63.4 KB