Re: [PATCH 0/12] memcg updates v5

From: KAMEZAWA Hiroyuki
Date: Fri Sep 26 2008 - 00:00:01 EST


On Fri, 26 Sep 2008 12:00:19 +0900
Daisuke Nishimura <nishimura@xxxxxxxxxxxxxxxxx> wrote:

> I'll test it with updated version of 9-11 and report you back.
>
Thank you. below is the new one...(Sorry!)

-Kame
==
Check LRU bit under lru_lock.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>

mm/memcontrol.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

Index: mmotm-2.6.27-rc7+/mm/memcontrol.c
===================================================================
--- mmotm-2.6.27-rc7+.orig/mm/memcontrol.c
+++ mmotm-2.6.27-rc7+/mm/memcontrol.c
@@ -340,11 +340,12 @@ void mem_cgroup_move_lists(struct page *
if (!trylock_page_cgroup(pc))
return;

- if (PageCgroupUsed(pc) && PageCgroupLRU(pc)) {
+ if (PageCgroupUsed(pc)) {
mem = pc->mem_cgroup;
mz = page_cgroup_zoneinfo(pc);
spin_lock_irqsave(&mz->lru_lock, flags);
- __mem_cgroup_move_lists(pc, lru);
+ if (PageCgroupLRU(pc))
+ __mem_cgroup_move_lists(pc, lru);
spin_unlock_irqrestore(&mz->lru_lock, flags);
}
unlock_page_cgroup(pc);
@@ -564,8 +565,8 @@ __release_page_cgroup(struct memcg_percp
spin_lock(&mz->lru_lock);
}
if (!PageCgroupUsed(pc) && PageCgroupLRU(pc)) {
- __mem_cgroup_remove_list(mz, pc);
ClearPageCgroupLRU(pc);
+ __mem_cgroup_remove_list(mz, pc);
}
}
if (prev_mz)
@@ -597,8 +598,8 @@ __set_page_cgroup_lru(struct memcg_percp
spin_lock(&mz->lru_lock);
}
if (PageCgroupUsed(pc) && !PageCgroupLRU(pc)) {
- SetPageCgroupLRU(pc);
__mem_cgroup_add_list(mz, pc);
+ SetPageCgroupLRU(pc);
}
}




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/