On Thu, Dec 15, 2011 at 09:04:06PM +0900, KAMEZAWA Hiroyuki wrote: > On Thu, 15 Dec 2011 19:36:31 +0900 > KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote: > > > On Thu, 15 Dec 2011 11:24:42 +0100 > > Johannes Weiner <hannes@xxxxxxxxxxx> wrote: > > > > What I think is required is to break up the charging and committing > > > like we do for swap cache already: > > > > > > if (!mem_cgroup_try_charge()) > > > goto error; > > > page_add_new_anon_rmap() > > > mem_cgroup_commit() > > > > > > This will also allow us to even get rid of passing around the charge > > > type everywhere... > > > > > > > Thank you. I'll look into. > > > > To be honest, I want to remove 'rss' and 'cache' counter ;( > > This doesn't have much meanings after lru was splitted. > > > > I'll use this version for test. This patch is under far deep stacks of > unmerged patches, anyway. Ok, makes sense. I can do the PCG_CACHE removal, btw, I have half the patches sitting around anyway, just need to fix up huge_memory.c. > @@ -2938,9 +2948,13 @@ void mem_cgroup_uncharge_page(struct page *page) > > void mem_cgroup_uncharge_cache_page(struct page *page) > { > + int ctype = MEM_CGROUP_CHARGE_TYPE_CACHE; > VM_BUG_ON(page_mapped(page)); > VM_BUG_ON(page->mapping); > - __mem_cgroup_uncharge_common(page, MEM_CGROUP_CHARGE_TYPE_CACHE); > + > + if (page_is_file_cache(page)) > + ctype = MEM_CGROUP_CHARGE_TYPE_SHMEM; > + __mem_cgroup_uncharge_common(page, ctype); I think this is missing a negation, but it doesn't matter because the SHMEM and CACHE charge types are treated exactly the same way. I'll send a patch series that removes it soon, there is more shmem related things... -- 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>