summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mm/vmscan.c22
1 files changed, 2 insertions, 20 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 8e03427cb64f..2ee4d9283738 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2664,10 +2664,6 @@ static bool shrink_node(pg_data_t *pgdat, struct scan_control *sc)
2664 2664
2665 do { 2665 do {
2666 struct mem_cgroup *root = sc->target_mem_cgroup; 2666 struct mem_cgroup *root = sc->target_mem_cgroup;
2667 struct mem_cgroup_reclaim_cookie reclaim = {
2668 .pgdat = pgdat,
2669 .priority = sc->priority,
2670 };
2671 unsigned long node_lru_pages = 0; 2667 unsigned long node_lru_pages = 0;
2672 struct mem_cgroup *memcg; 2668 struct mem_cgroup *memcg;
2673 2669
@@ -2676,7 +2672,7 @@ static bool shrink_node(pg_data_t *pgdat, struct scan_control *sc)
2676 nr_reclaimed = sc->nr_reclaimed; 2672 nr_reclaimed = sc->nr_reclaimed;
2677 nr_scanned = sc->nr_scanned; 2673 nr_scanned = sc->nr_scanned;
2678 2674
2679 memcg = mem_cgroup_iter(root, NULL, &reclaim); 2675 memcg = mem_cgroup_iter(root, NULL, NULL);
2680 do { 2676 do {
2681 unsigned long lru_pages; 2677 unsigned long lru_pages;
2682 unsigned long reclaimed; 2678 unsigned long reclaimed;
@@ -2719,21 +2715,7 @@ static bool shrink_node(pg_data_t *pgdat, struct scan_control *sc)
2719 sc->nr_scanned - scanned, 2715 sc->nr_scanned - scanned,
2720 sc->nr_reclaimed - reclaimed); 2716 sc->nr_reclaimed - reclaimed);
2721 2717
2722 /* 2718 } while ((memcg = mem_cgroup_iter(root, memcg, NULL)));
2723 * Kswapd have to scan all memory cgroups to fulfill
2724 * the overall scan target for the node.
2725 *
2726 * Limit reclaim, on the other hand, only cares about
2727 * nr_to_reclaim pages to be reclaimed and it will
2728 * retry with decreasing priority if one round over the
2729 * whole hierarchy is not sufficient.
2730 */
2731 if (!current_is_kswapd() &&
2732 sc->nr_reclaimed >= sc->nr_to_reclaim) {
2733 mem_cgroup_iter_break(root, memcg);
2734 break;
2735 }
2736 } while ((memcg = mem_cgroup_iter(root, memcg, &reclaim)));
2737 2719
2738 if (reclaim_state) { 2720 if (reclaim_state) {
2739 sc->nr_reclaimed += reclaim_state->reclaimed_slab; 2721 sc->nr_reclaimed += reclaim_state->reclaimed_slab;