diff --git a/mm/vmscan.c b/mm/vmscan.c index e94a1222622c..69b52e105939 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -2957,7 +2957,8 @@ static int get_swappiness(struct lruvec *lruvec, struct scan_control *sc) if (!sc->may_swap) return 0; - if (!can_demote(pgdat->node_id, sc)) + if (!can_demote(pgdat->node_id, sc) && + mem_cgroup_get_nr_swap_pages(memcg) <= 0) return 0; return mem_cgroup_swappiness(memcg);