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>
This commit is contained in:
parent
66aebce747
commit
41c9308812
@ -2107,12 +2107,7 @@ restart:
|
||||
* 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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user