On Thu, Mar 17, 2011 at 01:43:50PM +0100, Johannes Weiner wrote: [..] > So structures roughly like this: > > struct mem_cgroup { > ... > /* key is struct backing_dev_info * */ > struct rb_root memcg_bdis; > }; > > struct memcg_bdi { > /* key is struct address_space * */ > struct rb_root memcg_mappings; > struct rb_node node; > }; > > struct memcg_mapping { > struct address_space *mapping; > struct mem_cgroup *memcg; > struct rb_node node; > atomic_t count; > }; > > struct page_cgroup { > ... > struct memcg_mapping *memcg_mapping; > }; Johannes, didn't you want page->mapping to point to memcg_mapping instead of increasing the size of page_cgroup? Thanks Vivek -- 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>