Re: kswapd craziness in 3.7

From: Mel Gorman
Date: Wed Nov 28 2012 - 11:42:18 EST


On Wed, Nov 28, 2012 at 10:13:59AM +0000, Mel Gorman wrote:
> On Tue, Nov 27, 2012 at 03:19:38PM -0800, Linus Torvalds wrote:
> > On Tue, Nov 27, 2012 at 2:26 PM, Johannes Weiner <hannes@xxxxxxxxxxx> wrote:
> > > On Tue, Nov 27, 2012 at 05:02:36PM -0500, Rik van Riel wrote:
> > >>
> > >> Kswapd going crazy is certainly a large part of the problem.
> > >>
> > >> However, that leaves the issue of page_alloc.c waking up
> > >> kswapd when the system is not actually low on memory.
> > >>
> > >> Instead, kswapd is woken up because memory compaction failed,
> > >> potentially even due to lock contention during compaction!
> > >>
> > >> Ideally the allocation code would only wake up kswapd if
> > >> memory needs to be freed, or in order for kswapd to do
> > >> memory compaction (so the allocator does not have to).
> > >
> > > Maybe I missed something, but shouldn't this be solved with my patch?
> >
> > Ok, guys. Cage fight!
> >
> > The rules are simple: two men enter, one man leaves.
> >
>
> I'm fairly scorch damaged from this whole cycle already. I won't need a
> prop master to look the part for a thunderdome match.
>
> > And the one who comes out gets to explain to me which patch(es) I
> > should apply, and which I should revert, if any.
> >
>
> Based on the reports I've seen I expect the following to work for 3.7
>
> Keep
> 96710098 mm: revert "mm: vmscan: scale number of pages reclaimed by reclaim/compaction based on failures"
> ef6c5be6 fix incorrect NR_FREE_PAGES accounting (appears like memory leak)
>
> Revert
> 82b212f4 Revert "mm: remove __GFP_NO_KSWAPD"
>
> Merge
> mm: vmscan: fix kswapd endless loop on higher order allocation
> mm: Avoid waking kswapd for THP allocations when compaction is deferred or contended
>

and
mm: compaction: Fix return value of capture_free_page

but this one may already be in flight from Andrew's tree as he picked it
up already.

--
Mel Gorman
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/