Skip to contentSkip to conversation

Patch "mm, memcg: do not retry precharge charges" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Jan 30, 2017

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

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 3674534b775354516e5c148ea48f51d4d1909a78 Mon 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.

Fixes 0029e19ebf84 ("mm: memcontrol: remove explicit OOM parameter in charge path")
Cc Johannes Weiner <[email protected]>
Cc Vladimir Davydov <[email protected]>
---
 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(unsig
 		return 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