[RHEL7,COMMIT] Revert "mm/memcg: Don't stuck in mem_cgroup_reparent_charges() forever"

Submitted by Konstantin Khorenko on July 2, 2018, 2:38 p.m.

Details

Message ID 201807021438.w62EcENc012880@finist_ce7.work
State New
Series "Revert "mm/memcg: Don't stuck in mem_cgroup_reparent_charges() forever""
Headers show

Commit Message

Konstantin Khorenko July 2, 2018, 2:38 p.m.
The commit is pushed to "branch-rh7-3.10.0-862.3.2.vz7.61.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-862.3.2.vz7.61.8
------>
commit 82cb5934e8f36e1b8aa3491795686eeebed3b533
Author: Andrey Ryabinin <aryabinin@virtuozzo.com>
Date:   Mon Jul 2 17:38:14 2018 +0300

    Revert "mm/memcg: Don't stuck in mem_cgroup_reparent_charges() forever"
    
    This reverts commit e53270d201af7d1cbf86cd65ed35a479f0901b86.
    
    This was wrong thing to do. If page is isolated from lru for a long
    period of time, e.g. to perform writeback, the warning in
    mem_cgroup_reparent_charges() will be false-positively triggered.
    
    https://jira.sw.ru/browse/PSBM-86293
    Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
---
 mm/memcontrol.c | 8 --------
 1 file changed, 8 deletions(-)

Patch hide | download patch | download mbox

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 755c09e050a7..59cf47972f9e 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -4010,7 +4010,6 @@  static void mem_cgroup_force_empty_list(struct mem_cgroup *memcg,
  */
 static void mem_cgroup_reparent_charges(struct mem_cgroup *memcg)
 {
-	int nr_retries = MEM_CGROUP_RECLAIM_RETRIES;
 	int node, zid;
 
 	do {
@@ -4031,11 +4030,6 @@  static void mem_cgroup_reparent_charges(struct mem_cgroup *memcg)
 		memcg_oom_recover(memcg);
 		cond_resched();
 
-		if (WARN(!--nr_retries, "memory %ld > kmem %ld\n",
-				page_counter_read(&memcg->memory),
-				page_counter_read(&memcg->kmem)))
-			break;
-
 		/*
 		 * Kernel memory may not necessarily be trackable to a specific
 		 * process. So they are not migrated, and therefore we can't
@@ -4050,8 +4044,6 @@  static void mem_cgroup_reparent_charges(struct mem_cgroup *memcg)
 		 */
 	} while (page_counter_read(&memcg->memory) -
 		 page_counter_read(&memcg->kmem) > 0);
-
-	WARN_ON(!nr_retries);
 }
 
 /*