On Thu, May 12, 2011 at 10:53:44AM -0500, James Bottomley wrote: > On Thu, 2011-05-12 at 09:04 -0500, James Bottomley wrote: > > On Thu, 2011-05-12 at 14:13 +0300, Pekka Enberg wrote: > > > On 5/12/11 1:34 AM, James Bottomley wrote: > > > > On Wed, 2011-05-11 at 15:28 -0700, David Rientjes wrote: > > > >> On Wed, 11 May 2011, James Bottomley wrote: > > > >> > > > >>> OK, I confirm that I can't seem to break this one. No hangs visible, > > > >>> even when loading up the system with firefox, evolution, the usual > > > >>> massive untar, X and even a distribution upgrade. > > > >>> > > > >>> You can add my tested-by > > > >>> > > > >> Your system still hangs with patches 1 and 2 only? > > > > Yes, but only once in all the testing. With patches 1 and 2 the hang is > > > > much harder to reproduce, but it still seems to be present if I hit it > > > > hard enough. > > > > > > Patches 1-2 look reasonable to me. I'm not completely convinced of patch > > > 3, though. Why are we seeing these problems now? This has been in > > > mainline for a long time already. Shouldn't we fix kswapd? > > > > So I'm open to this. The hang occurs when kswapd races around in > > shrink_slab and never exits. It looks like there's a massive number of > > wakeups triggering this, but we haven't been able to diagnose it > > further. turning on PREEMPT gets rid of the hang, so I could try to > > reproduce with PREEMPT and turn on tracing. The problem so far has been > > that the number of events is so huge that the trace buffer only captures > > a few microseconds of output. > > OK, here's the trace from a PREEMPT kernel (2.6.38.6) when kswapd hits > 99% and stays there. I've only enabled the vmscan tracepoints to try > and get a longer run. It mosly looks like kswapd waking itself, but > there might be more in there that mm trained eyes can see. > For 2.6.38.6, commit [2876592f: mm: vmscan: stop reclaim/compaction earlier due to insufficient progress if !__GFP_REPEAT] may also be needed if CONFIG_COMPACTION if set. -- 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