diff --git a/mm/vmscan.c b/mm/vmscan.c index 28ba2b06fc7d..20dd72c98813 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -5990,7 +5990,8 @@ static void shrink_node(pg_data_t *pgdat, struct scan_control *sc) set_bit(PGDAT_WRITEBACK, &pgdat->flags); /* Allow kswapd to start writing pages during reclaim.*/ - if (sc->nr.unqueued_dirty == sc->nr.file_taken) + if (sc->nr.unqueued_dirty && + sc->nr.unqueued_dirty == sc->nr.file_taken) set_bit(PGDAT_DIRTY, &pgdat->flags); /*