Thread (65 messages) 65 messages, 13 authors, 2012-12-19

Re: kswapd craziness in 3.7

From: Mel Gorman <mgorman@suse.de>
Date: 2012-11-28 16:42:30
Also in: lkml

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:
quoted
On Tue, Nov 27, 2012 at 2:26 PM, Johannes Weiner [off-list ref] wrote:
quoted
On Tue, Nov 27, 2012 at 05:02:36PM -0500, Rik van Riel wrote:
quoted
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.
quoted
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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help