diff options
Diffstat (limited to 'mm/page_alloc.c')
| -rw-r--r-- | mm/page_alloc.c | 17 | 
1 files changed, 17 insertions, 0 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 8337926b89d4..7ac8d61148fe 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5815,6 +5815,23 @@ unsigned long free_reserved_area(void *start, void *end, int poison, const char  	return pages;  } +void free_reserved_page(struct page *page) +{ +	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); +		} +	} +	ClearPageReserved(page); +	init_page_count(page); +	__free_page(page); +	adjust_managed_page_count(page, 1); +} +EXPORT_SYMBOL(free_reserved_page); +  static int page_alloc_cpu_dead(unsigned int cpu)  {  	struct zone *zone;  | 
