Re: kswapd craziness in 3.7
From: Mel Gorman <mgorman@suse.de>
Date: 2012-11-28 23:54:19
Also in:
lkml
On Wed, Nov 28, 2012 at 02:52:15PM -0800, Andrew Morton wrote:
On Wed, 28 Nov 2012 10:13:59 +0000 Mel Gorman [off-list ref] wrote:quoted
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"mm: Avoid waking kswapd for THP ..." is marked "I have not tested it myself" and when Zdenek tested it he hit an unexplained oom.
I thought Zdenek was testing with __GFP_NO_KSWAPD when he hit that OOM. Further, when he hit that OOM, it looked like a genuine OOM. He had no swap configured and inactive/active file pages were very low. Finally, the free pages for Normal looked off and could also have been affected by the accounting bug. I'm looking at https://lkml.org/lkml/2012/11/18/132 here. Are you thinking of something else? I have not tested with the patch admittedly but Thorsten has and seemed to be ok with it https://lkml.org/lkml/2012/11/23/276.
quoted
Johannes' patch should remove the necessity for __GFP_NO_KSWAPD revert but I think we should also avoid waking kswapd for THP allocations if compaction is deferred. Johannes' patch might mean that kswapd goes quickly go back to sleep but it's still busy work. 3.6 is still known to be screwed in terms of THP because of the amount of time it can spend in compaction after lumpy reclaim was removed. This is my old list of patches I felt needed to be backported after 3.7 came out. They are not tagged -stable, I'll be sending it to Greg manually. e64c523 mm: compaction: abort compaction loop if lock is contended or run too long 3cc668f mm: compaction: move fatal signal check out of compact_checklock_irqsave 661c4cb mm: compaction: Update try_to_compact_pages()kerneldoc comment 2a1402a mm: compaction: acquire the zone->lru_lock as late as possible f40d1e4 mm: compaction: acquire the zone->lock as late as possible 753341a revert "mm: have order > 0 compaction start off where it left" bb13ffe mm: compaction: cache if a pageblock was scanned and no pages were isolated c89511a mm: compaction: Restart compaction from near where it left off 6299702 mm: compaction: clear PG_migrate_skip based on compaction and reclaim activity 0db63d7 mm: compaction: correct the nr_strict va isolated check for CMA Only Johannes' patch needs to be added to this list. kswapd is not woken for THP in 3.6 but as it calls compaction for other high-order allocations it still makes sense.Please identify "Johannes' patch"?
mm: vmscan: fix kswapd endless loop on higher order allocation -- 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>