On Wed 31-10-12 15:03:36, Wen Congyang wrote: > At 10/30/2012 04:46 AM, David Rientjes Wrote: > > On Mon, 29 Oct 2012, Lai Jiangshan wrote: [...] > >> In one word, we need a N_MEMORY. We just intrude it as an alias to > >> N_HIGH_MEMORY and fix all im-proper usages of N_HIGH_MEMORY in late patches. > >> > > > > If this is really that problematic (and it appears it's not given that > > there are many use cases of it and people tend to get it right), then why > > not simply rename N_HIGH_MEMORY instead of introducing yet another > > nodemask to the equation? > > The reason is that we need a node which only contains movable memory. This > feature is very important for node hotplug. So we will add a new nodemask > for movable memory. N_MEMORY contains movable memory but N_HIGH_MEMORY > doesn't contain it. OK, so the N_MOVABLE_MEMORY (or how you will call it) requires that all the allocations will be migrateable? How do you want to achieve that with the page_cgroup descriptors? (see bellow) On Mon 29-10-12 23:20:58, Lai Jiangshan wrote: [...] > diff --git a/mm/page_cgroup.c b/mm/page_cgroup.c > index 5ddad0c..c1054ad 100644 > --- a/mm/page_cgroup.c > +++ b/mm/page_cgroup.c > @@ -271,7 +271,7 @@ void __init page_cgroup_init(void) > if (mem_cgroup_disabled()) > return; > > - for_each_node_state(nid, N_HIGH_MEMORY) { > + for_each_node_state(nid, N_MEMORY) { > unsigned long start_pfn, end_pfn; > > start_pfn = node_start_pfn(nid); This will call init_section_page_cgroup(pfn, nid) later which allocates page_cgroup descriptors which are not movable. Or is there any code in your patchset that handles this? -- Michal Hocko SUSE Labs -- 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/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>