aboutsummaryrefslogtreecommitdiffstats
path: root/mm/vmscan.c
diff options
context:
space:
mode:
authorYing Han <yinghan@google.com>2012-04-12 15:49:16 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-04-12 16:12:12 -0400
commit41c93088127df2579e8ca64010929ec9e41d5543 (patch)
tree5bbfded1934fc94facbfa892a59874703aa6922a /mm/vmscan.c
parent66aebce747eaf9bc456bf1f1b217d8db843031d0 (diff)
Revert "mm: vmscan: fix misused nr_reclaimed in shrink_mem_cgroup_zone()"
This reverts commit c38446cc65e1f2b3eb8630c53943b94c4f65f670. Before the commit, the code makes senses to me but not after the commit. The "nr_reclaimed" is the number of pages reclaimed by scanning through the memcg's lru lists. The "nr_to_reclaim" is the target value for the whole function. For example, we like to early break the reclaim if reclaimed 32 pages under direct reclaim (not DEF_PRIORITY). After the reverted commit, the target "nr_to_reclaim" is decremented each time by "nr_reclaimed" but we still use it to compare the "nr_reclaimed". It just doesn't make sense to me... Signed-off-by: Ying Han <yinghan@google.com> Acked-by: Hugh Dickins <hughd@google.com> Cc: Rik van Riel <riel@redhat.com> Cc: Hillf Danton <dhillf@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/vmscan.c')
-rw-r--r--mm/vmscan.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 33c332bbab73..1a518684a32f 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2107,12 +2107,7 @@ restart:
2107 * with multiple processes reclaiming pages, the total 2107 * with multiple processes reclaiming pages, the total
2108 * freeing target can get unreasonably large. 2108 * freeing target can get unreasonably large.
2109 */ 2109 */
2110 if (nr_reclaimed >= nr_to_reclaim) 2110 if (nr_reclaimed >= nr_to_reclaim && priority < DEF_PRIORITY)
2111 nr_to_reclaim = 0;
2112 else
2113 nr_to_reclaim -= nr_reclaimed;
2114
2115 if (!nr_to_reclaim && priority < DEF_PRIORITY)
2116 break; 2111 break;
2117 } 2112 }
2118 blk_finish_plug(&plug); 2113 blk_finish_plug(&plug);