diff options
Diffstat (limited to 'mm/page_alloc.c')
| -rw-r--r-- | mm/page_alloc.c | 17 | 
1 files changed, 4 insertions, 13 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index e75865d58ba7..e2ef1c17942f 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -32,7 +32,6 @@  #include <linux/slab.h>  #include <linux/ratelimit.h>  #include <linux/oom.h> -#include <linux/notifier.h>  #include <linux/topology.h>  #include <linux/sysctl.h>  #include <linux/cpu.h> @@ -6194,17 +6193,6 @@ static unsigned long __init calc_memmap_size(unsigned long spanned_pages,  	return PAGE_ALIGN(pages * sizeof(struct page)) >> PAGE_SHIFT;  } -#ifdef CONFIG_NUMA_BALANCING -static void pgdat_init_numabalancing(struct pglist_data *pgdat) -{ -	spin_lock_init(&pgdat->numabalancing_migrate_lock); -	pgdat->numabalancing_migrate_nr_pages = 0; -	pgdat->numabalancing_migrate_next_window = jiffies; -} -#else -static void pgdat_init_numabalancing(struct pglist_data *pgdat) {} -#endif -  #ifdef CONFIG_TRANSPARENT_HUGEPAGE  static void pgdat_init_split_queue(struct pglist_data *pgdat)  { @@ -6229,7 +6217,6 @@ static void __meminit pgdat_init_internals(struct pglist_data *pgdat)  {  	pgdat_resize_init(pgdat); -	pgdat_init_numabalancing(pgdat);  	pgdat_init_split_queue(pgdat);  	pgdat_init_kcompactd(pgdat); @@ -7709,6 +7696,10 @@ bool has_unmovable_pages(struct zone *zone, struct page *page, int count,  		 * handle each tail page individually in migration.  		 */  		if (PageHuge(page)) { + +			if (!hugepage_migration_supported(page_hstate(page))) +				goto unmovable; +  			iter = round_up(iter + 1, 1<<compound_order(page)) - 1;  			continue;  		}  | 
