Patch "mm, memcg: do not retry precharge charges" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
mm, memcg: do not retry precharge charges
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
mm-memcg-do-not-retry-precharge-charges.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
3674534b775354516e5c148ea48f51d4d1909a78Mon Sep 17 00:00:00 2001
From: David Rientjes <[email protected]>
Date: Tue, 24 Jan 2017 15:18:10 -0800
Subject: mm, memcg: do not retry precharge charges
From: David Rientjes <[email protected]>
commit 3674534b775354516e5c148ea48f51d4d1909a78 upstream.
When memory.move_charge_at_immigrate is enabled and precharges are depleted during move, mem_cgroup_move_charge_pte_range() will attempt to increase the size of the precharge.
Prevent precharges from ever looping by setting __GFP_NORETRY. This was probably the intention of the GFP_KERNEL & ~__GFP_NORETRY, which is pointless as written.
--- mm/memcontrol.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
mm/memcontrol.c +2 -2
@@ -4496,9 +4496,9 @@ static int mem_cgroup_do_precharge(unsigreturn ret; } -/* Try charges one by one with reclaim */ +/* Try charges one by one with reclaim, but do not retry */ while (count--) { - ret =try_charge (mc.to,GFP_KERNEL & ~__GFP_NORETRY,1 ); + ret =try_charge (mc.to,GFP_KERNEL | __GFP_NORETRY,1 );if (ret)return ret; mc.precharge++;
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/mm-memcg-do-not-retry-precharge-charges.patch queue-4.4/mm-mempolicy.c-do-not-put-mempolicy-before-using-its-nodemask.patch