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. James
Attachment:
tmp.trace.gz
Description: GNU Zip compressed data