On Wed 21-12-11 09:09:41, KAMEZAWA Hiroyuki wrote: > On Tue, 20 Dec 2011 17:16:15 +0100 > Michal Hocko <mhocko@xxxxxxx> wrote: > > > On Wed 14-12-11 16:52:26, KAMEZAWA Hiroyuki wrote: > > > From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> > > > > > > Now, at LRU handling, memory cgroup needs to do complicated works > > > to see valid pc->mem_cgroup, which may be overwritten. > > > > > > This patch is for relaxing the protocol. This patch guarantees > > > - when pc->mem_cgroup is overwritten, page must not be on LRU. > > > > How the patch guarantees that? I do not see any enforcement. In fact we > > depend on the previous patches, don't we. > > > > Ah, yes. We depends on previous patch series. > > > > > > > > By this, LRU routine can believe pc->mem_cgroup and don't need to > > > check bits on pc->flags. This new rule may adds small overheads to > > > swapin. But in most case, lru handling gets faster. > > > > > > After this patch, PCG_ACCT_LRU bit is obsolete and removed. > > > > It makes things much more simpler. I just think it needs a better > > description. > > > > O.K. > > 99% of memcg charging are done by following call path. > > - alloc_page() -> charge() -> map/enter radix-tree -> add to LRU. > > We need some special case cares. > > - SwapCache - newly allocated/fully unmapped pages are added to LRU > before charge. > => handled by previous patch. > - FUSE - unused pages are reused. > => handled by previous patch. > > - move_account > => we do isolate_page(). > > Now, we can guarantee pc->mem_cgroup is set when page is not added to > LRU or under zone->lru_lock + isolate from LRU. > > I'll add some Documenation to...memcg_debug.txt Yes, much better. Btw. I forgot to add Acked-by: Michal Hocko <mhocko@xxxxxxx> Thanks -- 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@xxxxxxxxx. 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>