Re: [PATCH 0/3] Reduce impact to overall system of SLUB using high-order allocations

James Bottomley
2011-05-12T15:53:59Z

[-- Attachment #1: Type: text/plain, Size: 1736 bytes --]

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 #2: tmp.trace.gz --]
[-- Type: application/x-gzip, Size: 175858 bytes --]