On Thu 02-06-11 19:57:02, Johannes Weiner wrote: > On Fri, Jun 03, 2011 at 12:54:39AM +0900, Hiroyuki Kamezawa wrote: > > 2011/6/2 Johannes Weiner <hannes@xxxxxxxxxxx>: > > > On Thu, Jun 02, 2011 at 10:16:59PM +0900, Hiroyuki Kamezawa wrote: [...] > > > But it may put a page onto wrong memcgs if we do link a page to > > another page's page->lru > > because 2 pages may be in different cgroup each other. > > Yes, I noticed that. If it splits a huge page, it does not just add > the tailpages to the lru head, but it links them next to the head > page. > > But I don't see how those pages could ever be in different memcgs? > pages with page->mapping pointing to the same anon_vma are always in > the same memcg, AFAIU. Process can be moved to other memcg and without move_charge_at_immigrate all previously faulted pages stay in the original group while all new (not faulted yet) get into the new group while mapping doesn't change. I guess this might happen with thp tailpages as well. But I do not think this is a problem. The original group already got charged for the huge page so we can keep all tail pages in it. -- Michal Hocko SUSE Labs SUSE LINUX s.r.o. Lihovarska 1060/12 190 00 Praha 9 Czech Republic -- 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 internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>