Skip to content

Commit

Permalink
mm/vmpressure.c: fix subtree pressure detection
Browse files Browse the repository at this point in the history
When vmpressure is called for the entire subtree under pressure we
mistakenly use vmpressure->scanned instead of vmpressure->tree_scanned
when checking if vmpressure work is to be scheduled.  This results in
suppressing all vmpressure events in the legacy cgroup hierarchy.  Fix it.

Fixes: 8e8ae64 ("mm: memcontrol: hook up vmpressure to socket pressure")
Signed-off-by: Vladimir Davydov <[email protected]>
Acked-by: Johannes Weiner <[email protected]>
Acked-by: Michal Hocko <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Vladimir Davydov authored and torvalds committed Feb 3, 2016
1 parent 30bdbb7 commit 3c1da7b
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions mm/vmpressure.c
Original file line number Diff line number Diff line change
Expand Up @@ -248,9 +248,8 @@ void vmpressure(gfp_t gfp, struct mem_cgroup *memcg, bool tree,

if (tree) {
spin_lock(&vmpr->sr_lock);
vmpr->tree_scanned += scanned;
scanned = vmpr->tree_scanned += scanned;
vmpr->tree_reclaimed += reclaimed;
scanned = vmpr->scanned;
spin_unlock(&vmpr->sr_lock);

if (scanned < vmpressure_win)
Expand Down

0 comments on commit 3c1da7b

Please sign in to comment.