Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41c93088 authored by Ying Han's avatar Ying Han Committed by Linus Torvalds
Browse files

Revert "mm: vmscan: fix misused nr_reclaimed in shrink_mem_cgroup_zone()"



This reverts commit c38446cc.

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: default avatarYing Han <yinghan@google.com>
Acked-by: default avatarHugh Dickins <hughd@google.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Hillf Danton <dhillf@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 66aebce7
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -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);