The patch titled mm: vmscan: evaluate the watermarks against the correct classzone has been added to the -mm tree. Its filename is mm-vmscan-evaluate-the-watermarks-against-the-correct-classzone.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: mm: vmscan: evaluate the watermarks against the correct classzone From: Mel Gorman <mgorman@xxxxxxx> When deciding if kswapd is sleeping prematurely, the classzone is taken into account but this is different to what balance_pgdat() and the allocator are doing. Specifically, the DMA zone will be checked based on the classzone used when waking kswapd which could be for a GFP_KERNEL or GFP_HIGHMEM request. The lowmem reserve limit kicks in, the watermark is not met and kswapd thinks it's sleeping prematurely keeping kswapd awake in error. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Reported-by: Pádraig Brady <P@xxxxxxxxxxxxxx> Tested-by: Pádraig Brady <P@xxxxxxxxxxxxxx> Tested-by: Andrew Lutomirski <luto@xxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Minchan Kim <minchan.kim@xxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/vmscan.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN mm/vmscan.c~mm-vmscan-evaluate-the-watermarks-against-the-correct-classzone mm/vmscan.c --- a/mm/vmscan.c~mm-vmscan-evaluate-the-watermarks-against-the-correct-classzone +++ a/mm/vmscan.c @@ -2344,7 +2344,7 @@ static bool sleeping_prematurely(pg_data } if (!zone_watermark_ok_safe(zone, order, high_wmark_pages(zone), - classzone_idx, 0)) + i, 0)) all_zones_ok = false; else balanced += zone->present_pages; _ Patches currently in -mm which might be from mgorman@xxxxxxx are mm-vmscan-correct-check-for-kswapd-sleeping-in-sleeping_prematurely.patch mm-vmscan-do-not-apply-pressure-to-slab-if-we-are-not-applying-pressure-to-zone.patch mm-vmscan-evaluate-the-watermarks-against-the-correct-classzone.patch mm-vmscan-only-read-new_classzone_idx-from-pgdat-when-reclaiming-successfully.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html