Messages in this thread | | | Date | Wed, 24 Jul 2013 02:26:50 -0400 | From | Naoya Horiguchi <> | Subject | Re: [PATCH 7/8] memory-hotplug: enable memory hotplug to handle hugepage |
| |
On Wed, Jul 24, 2013 at 02:10:07PM +0800, Wanpeng Li wrote: ... > >diff --git v3.11-rc1.orig/mm/page_isolation.c v3.11-rc1/mm/page_isolation.c > >index 383bdbb..cf48ef6 100644 > >--- v3.11-rc1.orig/mm/page_isolation.c > >+++ v3.11-rc1/mm/page_isolation.c > >@@ -6,6 +6,7 @@ > > #include <linux/page-isolation.h> > > #include <linux/pageblock-flags.h> > > #include <linux/memory.h> > >+#include <linux/hugetlb.h> > > #include "internal.h" > > > > int set_migratetype_isolate(struct page *page, bool skip_hwpoisoned_pages) > >@@ -252,6 +253,10 @@ struct page *alloc_migrate_target(struct page *page, unsigned long private, > > { > > gfp_t gfp_mask = GFP_USER | __GFP_MOVABLE; > > > >+ if (PageHuge(page)) > >+ return alloc_huge_page_node(page_hstate(compound_head(page)), > >+ numa_node_id()); > >+ > > Why specify current node? Maybe current node is under remove.
Yes. One difficulty is that this function doesn't have vma and we can't rely on mempolicy for node choice. I think that simply choosing the next node by incrementing node id can be a work around, though it's not the best solution.
Thanks, Naoya Horiguchi
| |