• Andrew Morton's avatar
    [PATCH] misc fixes · 1a40868e
    Andrew Morton authored
    There are a few VM-related patches in this series.  Mainly fixes;
    feature work is on hold.
    
    We have some fairly serious locking contention problems with the reverse
    mapping's pte_chains.  Until we have a clear way out of that I believe
    that it is best to not merge code which has a lot of rmap dependency.
    
    It is apparent that these problems will not be solved by tweaking -
    some redesign is needed.  In the 2.5 timeframe the only practical
    solution appears to be page table sharing, based on Daniel's February
    work.  Daniel and Dave McCracken are working that.
    
    Some bits and pieces here:
    
    - list_splice() has an open-coded list_empty() in it.  Use
      list_empty() instead.
    
    - in shrink_cache() we have a local `nr_pages' which shadows another
      local.  Rename the inner one.  (Nikita Danilov)
    
    - Add a BUG() on a can't-happen code path in page_remove_rmap().
    
    - Tighten up the bug checks in the BH completion handlers - if the
      buffer is still under IO then it must be locked, because we unlock it
      inside the page_uptodate_lock.
    1a40868e
buffer.c 65.3 KB