Revert "mm: bail out in shrink_inactive_list()"
authorMichal Hocko <mhocko@suse.com>
Wed, 22 Feb 2017 23:46:04 +0000 (15:46 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 23 Feb 2017 00:41:30 +0000 (16:41 -0800)
This reverts commit 91dcade47a3d0e7.

inactive_reclaimable_pages shouldn't be needed anymore since that
get_scan_count is aware of the eligble zones ("mm, vmscan: consider
eligible zones in get_scan_count").

Link: http://lkml.kernel.org/r/20170117103702.28542-4-mhocko@kernel.org
Signed-off-by: Michal Hocko <mhocko@suse.com>
Acked-by: Hillf Danton <hillf.zj@alibaba-inc.com>
Acked-by: Minchan Kim <minchan@kernel.org>
Acked-by: Mel Gorman <mgorman@suse.de>
Acked-by: Johannes Weiner <hannes@cmpchxg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/vmscan.c

index 861ec1431f255ae8eaa3111be414bd2980ddfb3a..7bb23ff229b6677aa3afde74ac48641dfbad7ada 100644 (file)
@@ -1701,30 +1701,6 @@ static int current_may_throttle(void)
                bdi_write_congested(current->backing_dev_info);
 }
 
-static bool inactive_reclaimable_pages(struct lruvec *lruvec,
-                               struct scan_control *sc, enum lru_list lru)
-{
-       int zid;
-       struct zone *zone;
-       int file = is_file_lru(lru);
-       struct pglist_data *pgdat = lruvec_pgdat(lruvec);
-
-       if (!global_reclaim(sc))
-               return true;
-
-       for (zid = sc->reclaim_idx; zid >= 0; zid--) {
-               zone = &pgdat->node_zones[zid];
-               if (!managed_zone(zone))
-                       continue;
-
-               if (zone_page_state_snapshot(zone, NR_ZONE_LRU_BASE +
-                               LRU_FILE * file) >= SWAP_CLUSTER_MAX)
-                       return true;
-       }
-
-       return false;
-}
-
 /*
  * shrink_inactive_list() is a helper for shrink_node().  It returns the number
  * of reclaimed pages
@@ -1743,9 +1719,6 @@ shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec,
        struct pglist_data *pgdat = lruvec_pgdat(lruvec);
        struct zone_reclaim_stat *reclaim_stat = &lruvec->reclaim_stat;
 
-       if (!inactive_reclaimable_pages(lruvec, sc, lru))
-               return 0;
-
        while (unlikely(too_many_isolated(pgdat, file, sc))) {
                congestion_wait(BLK_RW_ASYNC, HZ/10);