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? -- 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=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>