xfs
[Top] [All Lists]

Re: [PATCH 1/5] xfs: ensure reclaim cursor is reset correctly at end of

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 1/5] xfs: ensure reclaim cursor is reset correctly at end of AG
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Mon, 9 May 2011 10:07:21 -0400
Cc: xfs@xxxxxxxxxxx
In-reply-to: <1304650448-28438-2-git-send-email-david@xxxxxxxxxxxxx>
References: <1304650448-28438-1-git-send-email-david@xxxxxxxxxxxxx> <1304650448-28438-2-git-send-email-david@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Fri, May 06, 2011 at 12:54:04PM +1000, Dave Chinner wrote:
> From: Dave Chinner <dchinner@xxxxxxxxxx>
> 
> 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....

Looks good,

Reviewed-by: Christoph Hellwig <hch@xxxxxx>

<Prev in Thread] Current Thread [Next in Thread>