diff options
Diffstat (limited to 'mm/mm_init.c')
| -rw-r--r-- | mm/mm_init.c | 15 | 
1 files changed, 4 insertions, 11 deletions
diff --git a/mm/mm_init.c b/mm/mm_init.c index 75c3bd42799b..51960079875b 100644 --- a/mm/mm_init.c +++ b/mm/mm_init.c @@ -1623,8 +1623,7 @@ static void __init alloc_node_mem_map(struct pglist_data *pgdat)  		panic("Failed to allocate %ld bytes for node %d memory map\n",  		      size, pgdat->node_id);  	pgdat->node_mem_map = map + offset; -	mod_node_early_perpage_metadata(pgdat->node_id, -					DIV_ROUND_UP(size, PAGE_SIZE)); +	memmap_boot_pages_add(DIV_ROUND_UP(size, PAGE_SIZE));  	pr_debug("%s: node %d, pgdat %08lx, node_mem_map %08lx\n",  		 __func__, pgdat->node_id, (unsigned long)pgdat,  		 (unsigned long)pgdat->node_mem_map); @@ -2245,6 +2244,8 @@ void __init init_cma_reserved_pageblock(struct page *page)  	set_pageblock_migratetype(page, MIGRATE_CMA);  	set_page_refcounted(page); +	/* pages were reserved and not allocated */ +	clear_page_tag_ref(page);  	__free_pages(page, pageblock_order);  	adjust_managed_page_count(page, pageblock_nr_pages); @@ -2460,15 +2461,7 @@ void __init memblock_free_pages(struct page *page, unsigned long pfn,  	}  	/* pages were reserved and not allocated */ -	if (mem_alloc_profiling_enabled()) { -		union codetag_ref *ref = get_page_tag_ref(page); - -		if (ref) { -			set_codetag_empty(ref); -			put_page_tag_ref(ref); -		} -	} - +	clear_page_tag_ref(page);  	__free_pages_core(page, order, MEMINIT_EARLY);  }  | 
