2011/1/14 Johannes Weiner <hannes@xxxxxxxxxxx>: > On Fri, Jan 14, 2011 at 07:10:42PM +0900, KAMEZAWA Hiroyuki wrote: >> From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> >> >> memroy cgroup's LRU stat should take care of size of pages because >> Transparent Hugepage inserts hugepage into LRU and zone counter >> is updeted based on the size of page. >> >> If this value is the number wrong, memory reclaim will not work well. >> >> Note: only head page of THP's huge page is linked into LRU. >> >> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> >> --- >> mm/memcontrol.c | 10 ++++++++-- >> 1 file changed, 8 insertions(+), 2 deletions(-) >> >> Index: mmotm-0107/mm/memcontrol.c >> =================================================================== >> --- mmotm-0107.orig/mm/memcontrol.c >> +++ mmotm-0107/mm/memcontrol.c >> @@ -815,7 +815,10 @@ void mem_cgroup_del_lru_list(struct page >> * removed from global LRU. >> */ >> mz = page_cgroup_zoneinfo(pc); >> - MEM_CGROUP_ZSTAT(mz, lru) -= 1; >> + if (!PageTransHuge(page)) >> + MEM_CGROUP_ZSTAT(mz, lru) -= 1; >> + else >> + MEM_CGROUP_ZSTAT(mz, lru) -= 1 << compound_order(page); > > compound_order() returns 0 for !PG_head pages, that should do the > right thing without checking PageTransHuge(), right? You're right. Then, I can remove this 'if'. Thank you. Hmm, I'll check other places, again. Regards, -Kame -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href