public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] memcg: reset to root_mem_cgroup at bypassing
@ 2011-12-19  7:51 KAMEZAWA Hiroyuki
  2011-12-19 20:49 ` Hugh Dickins
  2011-12-21  8:24 ` [PATCH v2] memcg: return -EINTR at bypassing try_charge() KAMEZAWA Hiroyuki
  0 siblings, 2 replies; 11+ messages in thread
From: KAMEZAWA Hiroyuki @ 2011-12-19  7:51 UTC (permalink / raw)
  To: akpm@linux-foundation.org
  Cc: linux-mm@kvack.org, cgroups, linux-kernel@vger.kernel.org,
	hannes@cmpxchg.org, Michal Hocko, Hugh Dickins

>From d620ff605a3a592c2b1de3a046498ce5cd3d3c50 Mon Sep 17 00:00:00 2001
From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Date: Mon, 19 Dec 2011 16:55:10 +0900
Subject: [PATCH 2/2] memcg: reset lru to root_mem_cgroup in special cases.

This patch is a fix for memcg-simplify-lru-handling-by-new-rule.patch

After the patch, all pages which will be onto LRU must have sane
pc->mem_cgroup. But, in special case, it's not set.

If task->mm is NULL or task is TIF_MEMDIE or fatal_signal_pending(),
try_charge() is bypassed and the new charge will not be charged. And
pc->mem_cgroup is unset even if the page will be used/mapped and added
to LRU. To avoid this,  this patch charges such pages to root_mem_cgroup,
then, pc->mem_cgroup will be handled correctly.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
---
 mm/memcontrol.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 0d6d21c..9268e8e 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -2324,7 +2324,7 @@ nomem:
 	*ptr = NULL;
 	return -ENOMEM;
 bypass:
-	*ptr = NULL;
+	*ptr = root_mem_cgroup;
 	return 0;
 }
 
-- 
1.7.4.1



^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2011-12-21 12:28 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-19  7:51 [PATCH] memcg: reset to root_mem_cgroup at bypassing KAMEZAWA Hiroyuki
2011-12-19 20:49 ` Hugh Dickins
2011-12-20  0:24   ` Hiroyuki Kamezawa
2011-12-21  0:13     ` KAMEZAWA Hiroyuki
2011-12-21  3:25       ` Hugh Dickins
2011-12-21  4:00         ` KAMEZAWA Hiroyuki
2011-12-21  8:24 ` [PATCH v2] memcg: return -EINTR at bypassing try_charge() KAMEZAWA Hiroyuki
2011-12-21  9:57   ` Johannes Weiner
2011-12-21 10:08     ` KAMEZAWA Hiroyuki
2011-12-21 10:29   ` [PATCH v3] " KAMEZAWA Hiroyuki
2011-12-21 12:28     ` Johannes Weiner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox