forked from luck/tmp_suning_uos_patched
mm/hugetlb.c: use memblock apis for early memory allocations
Switch to memblock interfaces for early memory allocator instead of bootmem allocator. No functional change in beahvior than what it is in current code from bootmem users points of view. Archs already converted to NO_BOOTMEM now directly use memblock interfaces instead of bootmem wrappers build on top of memblock. And the archs which still uses bootmem, these new apis just fallback to exiting bootmem APIs. Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Cc: "Rafael J. Wysocki" <rjw@sisk.pl> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Christoph Lameter <cl@linux-foundation.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Michal Hocko <mhocko@suse.cz> Cc: Paul Walmsley <paul@pwsan.com> Cc: Pavel Machek <pavel@ucw.cz> Cc: Russell King <linux@arm.linux.org.uk> Cc: Tejun Heo <tj@kernel.org> Cc: Tony Lindgren <tony@atomide.com> Cc: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
bb016b8416
commit
8b89a11694
10
mm/hugetlb.c
10
mm/hugetlb.c
|
@ -1271,9 +1271,9 @@ int __weak alloc_bootmem_huge_page(struct hstate *h)
|
|||
for_each_node_mask_to_alloc(h, nr_nodes, node, &node_states[N_MEMORY]) {
|
||||
void *addr;
|
||||
|
||||
addr = __alloc_bootmem_node_nopanic(NODE_DATA(node),
|
||||
huge_page_size(h), huge_page_size(h), 0);
|
||||
|
||||
addr = memblock_virt_alloc_try_nid_nopanic(
|
||||
huge_page_size(h), huge_page_size(h),
|
||||
0, BOOTMEM_ALLOC_ACCESSIBLE, node);
|
||||
if (addr) {
|
||||
/*
|
||||
* Use the beginning of the huge page to store the
|
||||
|
@ -1313,8 +1313,8 @@ static void __init gather_bootmem_prealloc(void)
|
|||
|
||||
#ifdef CONFIG_HIGHMEM
|
||||
page = pfn_to_page(m->phys >> PAGE_SHIFT);
|
||||
free_bootmem_late((unsigned long)m,
|
||||
sizeof(struct huge_bootmem_page));
|
||||
memblock_free_late(__pa(m),
|
||||
sizeof(struct huge_bootmem_page));
|
||||
#else
|
||||
page = virt_to_page(m);
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue
Block a user