Re: [BUG] fatal hang untarring 90GB file, possibly writeback related.
From: Mel Gorman <hidden>
Date: 2011-05-06 19:37:48
Also in:
linux-fsdevel, linux-mm, lkml
On Fri, May 06, 2011 at 02:14:37PM -0500, James Bottomley wrote:
On Fri, 2011-05-06 at 16:44 +0100, Mel Gorman wrote:quoted
Colin and James: Did you happen to switch from SLAB to SLUB between 2.6.37 and 2.6.38? My own tests were against SLAB which might be why I didn't see the problem. Am restarting the tests with SLUB.Aargh ... I'm an idiot. I should have thought of SLUB immediately ... it's been causing oopses since debian switched to it. So I recompiled the 2.6.38.4 stable kernel with SLAB instead of SLUB and the problem goes away ... at least from three untar runs on a loaded box ... of course it could manifest a few ms after I send this email ... There are material differences, as well: SLAB isn't taking my system down to very low memory on the untar ... it's keeping about 0.5Gb listed as free. SLUB took that to under 100kb, so it could just be that SLAB isn't wandering as close to the cliff edge?
A comparison of watch-highorder.pl with SLAB and SLUB may be enlightening as well as testing SLUB altering allocate_slab() to read alloc_gfp = (flags | __GFP_NOWARN | __GFP_NORETRY | __GFP_NO_KSWAPD) & ~__GFP_NOFAIL; i.e. try adding the __GFP_NO_KSWAPD. My own tests are still in progress but I'm still not seeing the problem. I'm installing Fedora on another test machine at the moment to see if X and other applications have to be running to pressure high-order allocations properly. -- Mel Gorman SUSE Labs