If laptop_mode is enable, VM try to avoid I/O for saving the power. But if there isn't reclaimable memory without I/O, we should do I/O for preventing unnecessary OOM kill although we sacrifices power. One of example is that we are out of page cache. Remained one is only anonymous pages, for swapping out, we needs may_writepage = 1. Reported-by: Luigi Semenzato <semenzato@xxxxxxxxxx> Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> --- mm/vmscan.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mm/vmscan.c b/mm/vmscan.c index 439cc47..624c816 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -1728,6 +1728,12 @@ static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc, free = zone_page_state(zone, NR_FREE_PAGES); if (unlikely(file + free <= high_wmark_pages(zone))) { scan_balance = SCAN_ANON; + /* + * From now on, we have to swap out + * for peventing OOM kill although + * we sacrifice power consumption. + */ + sc->may_writepage = 1; goto out; } } -- 1.7.9.5 -- 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>