Skip to content

Commit

Permalink
Revert "mm: vmscan: fix misused nr_reclaimed in shrink_mem_cgroup_zon…
Browse files Browse the repository at this point in the history
…e()"

This reverts commit c38446c.

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>
  • Loading branch information
Ying Han authored and Linus Torvalds committed Apr 12, 2012
1 parent 66aebce commit 41c9308
Showing 1 changed file with 1 addition and 6 deletions.
7 changes: 1 addition & 6 deletions mm/vmscan.c
Original file line number Diff line number Diff line change
Expand Up @@ -2107,12 +2107,7 @@ static void shrink_mem_cgroup_zone(int priority, struct mem_cgroup_zone *mz,
* with multiple processes reclaiming pages, the total
* freeing target can get unreasonably large.
*/
if (nr_reclaimed >= nr_to_reclaim)
nr_to_reclaim = 0;
else
nr_to_reclaim -= nr_reclaimed;

if (!nr_to_reclaim && priority < DEF_PRIORITY)
if (nr_reclaimed >= nr_to_reclaim && priority < DEF_PRIORITY)
break;
}
blk_finish_plug(&plug);
Expand Down

0 comments on commit 41c9308

Please sign in to comment.