The patch "mm: vmscan: Block kswapd if it is encountering pages under writeback" stalls in congestion_wait it encounters a page under writeback that is marked for immediate reclaim. Initially this was a wait_on_page_writeback() but after the switch to congestion_wait(), there is no guarantee the page has completed writeback and it can be placed on a list for freeing. This is a fix for mm-vmscan-block-kswapd-if-it-is-encountering-pages-under-writeback.patch Signed-off-by: Mel Gorman <mgorman@xxxxxxx> --- mm/vmscan.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/vmscan.c b/mm/vmscan.c index b1b38ad..4a43c28 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -766,8 +766,10 @@ static unsigned long shrink_page_list(struct list_head *page_list, if (current_is_kswapd() && PageReclaim(page) && zone_is_reclaim_writeback(zone)) { + unlock_page(page); congestion_wait(BLK_RW_ASYNC, HZ/10); zone_clear_flag(zone, ZONE_WRITEBACK); + goto keep; /* Case 2 above */ } else if (global_reclaim(sc) || -- 1.8.1.4 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>