1. 09 May, 2011 1 commit
    • Dave Chinner's avatar
      xfs: ensure reclaim cursor is reset correctly at end of AG · b2232219
      Dave Chinner authored
      On a 32 bit highmem PowerPC machine, the XFS inode cache was growing
      without bound and exhausting low memory causing the OOM killer to be
      triggered. After some effort, the problem was reproduced on a 32 bit
      x86 highmem machine.
      
      The problem is that the per-ag inode reclaim index cursor was not
      getting reset to the start of the AG if the radix tree tag lookup
      found no more reclaimable inodes. Hence every further reclaim
      attempt started at the same index beyond where any reclaimable
      inodes lay, and no further background reclaim ever occurred from the
      AG.
      
      Without background inode reclaim the VM driven cache shrinker
      simply cannot keep up with cache growth, and OOM is the result.
      
      While the change that exposed the problem was the conversion of the
      inode reclaim to use work queues for background reclaim, it was not
      the cause of the bug. The bug was introduced when the cursor code
      was added, just waiting for some weird configuration to strike....
      Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
      Tested-By: default avatarChristian Kujau <lists@nerdbynature.de>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarAlex Elder <aelder@sgi.com>
      b2232219
  2. 28 Apr, 2011 7 commits
  3. 20 Apr, 2011 1 commit
  4. 19 Apr, 2011 1 commit
  5. 18 Apr, 2011 30 commits