On Mon, May 03, 2010 at 01:54:38PM +0200, Peter Palfrader wrote:
> I have an xfs filesystem in a KVM domain with 512megs of memory and 2 gigs of
> The filesystem is 750g in size, of which some 500g are in use in about 6
> million files. (This XFS filesystem is exported via nfs4. I haven't tested
> this makes any difference.)
> Starting in 184.108.40.206 running something like "find | wc -l" on this
> filesystem's mountpoint causes the OOM killer to kill off most of the
> system. (See kern.log)
As a workaraound, you can increase the frequency at which the
xfssyncd runs so that it is less than the default 30s between
background reclaim runs.
> With 220.127.116.11 the system does not behave like this.
> Bisecting turned up the following commit. Reverting it in 18.104.22.168
> also results in a system that works.
> | 9e1e9675fb29c0e94a7c87146138aa2135feba2f is first bad commit
> | commit 9e1e9675fb29c0e94a7c87146138aa2135feba2f
> | Author: Dave Chinner <david@xxxxxxxxxxxxx>
> | Date: Fri Mar 12 09:42:10 2010 +1100
> | xfs: reclaim all inodes by background tree walks
Reverting this leaves you running with a subtly altered and
completely untested reclaim path that I'm not sure does the right
thing in all situations. I wouldn't run that revert on my machines,
nor recommend it for anyone else. But it's up to you if you want to
run it on your machines....
The fix for this problem only got to mainline a couple of days ago.
I've got to backport it to the stable kernel tree so the next stable
kernel should fix this.