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: > > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html