Skip to content

Commit 53ab85e

Browse files
rppttorvalds
authored andcommitted
memblock: replace free_bootmem_late with memblock_free_late
The free_bootmem_late and memblock_free_late do exactly the same thing: they iterate over a range and give pages to the page allocator. Replace calls to free_bootmem_late with calls to memblock_free_late and remove the bootmem variant. Link: http://lkml.kernel.org/r/1536927045-23536-25-git-send-email-rppt@linux.vnet.ibm.com Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com> Acked-by: Michal Hocko <mhocko@suse.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Chris Zankel <chris@zankel.net> Cc: "David S. Miller" <davem@davemloft.net> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Greentime Hu <green.hu@gmail.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Guan Xuetao <gxt@pku.edu.cn> Cc: Ingo Molnar <mingo@redhat.com> Cc: "James E.J. Bottomley" <jejb@parisc-linux.org> Cc: Jonas Bonn <jonas@southpole.se> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Ley Foon Tan <lftan@altera.com> Cc: Mark Salter <msalter@redhat.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Matt Turner <mattst88@gmail.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Michal Simek <monstr@monstr.eu> Cc: Palmer Dabbelt <palmer@sifive.com> Cc: Paul Burton <paul.burton@mips.com> Cc: Richard Kuo <rkuo@codeaurora.org> Cc: Richard Weinberger <richard@nod.at> Cc: Rich Felker <dalias@libc.org> Cc: Russell King <linux@armlinux.org.uk> Cc: Serge Semin <fancer.lancer@gmail.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Tony Luck <tony.luck@intel.com> Cc: Vineet Gupta <vgupta@synopsys.com> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 2013288 commit 53ab85e

File tree

5 files changed

+6
-31
lines changed

5 files changed

+6
-31
lines changed

arch/sparc/kernel/mdesc.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include <linux/mm.h>
1313
#include <linux/miscdevice.h>
1414
#include <linux/bootmem.h>
15+
#include <linux/memblock.h>
1516
#include <linux/export.h>
1617
#include <linux/refcount.h>
1718

@@ -190,7 +191,7 @@ static void __init mdesc_memblock_free(struct mdesc_handle *hp)
190191

191192
alloc_size = PAGE_ALIGN(hp->handle_size);
192193
start = __pa(hp);
193-
free_bootmem_late(start, alloc_size);
194+
memblock_free_late(start, alloc_size);
194195
}
195196

196197
static struct mdesc_mem_ops memblock_mdesc_ops = {

arch/x86/platform/efi/quirks.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ void __init efi_reserve_boot_services(void)
333333

334334
/*
335335
* Because the following memblock_reserve() is paired
336-
* with free_bootmem_late() for this region in
336+
* with memblock_free_late() for this region in
337337
* efi_free_boot_services(), we must be extremely
338338
* careful not to reserve, and subsequently free,
339339
* critical regions of memory (like the kernel image) or
@@ -364,7 +364,7 @@ void __init efi_reserve_boot_services(void)
364364
* doesn't make sense as far as the firmware is
365365
* concerned, but it does provide us with a way to tag
366366
* those regions that must not be paired with
367-
* free_bootmem_late().
367+
* memblock_free_late().
368368
*/
369369
md->attribute |= EFI_MEMORY_RUNTIME;
370370
}
@@ -414,7 +414,7 @@ void __init efi_free_boot_services(void)
414414
size -= rm_size;
415415
}
416416

417-
free_bootmem_late(start, size);
417+
memblock_free_late(start, size);
418418
}
419419

420420
if (!num_entries)

drivers/firmware/efi/apple-properties.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ static int __init map_properties(void)
235235
*/
236236
data->len = 0;
237237
memunmap(data);
238-
free_bootmem_late(pa_data + sizeof(*data), data_len);
238+
memblock_free_late(pa_data + sizeof(*data), data_len);
239239

240240
return ret;
241241
}

include/linux/bootmem.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ extern unsigned long free_all_bootmem(void);
3030
extern void reset_node_managed_pages(pg_data_t *pgdat);
3131
extern void reset_all_zones_managed_pages(void);
3232

33-
extern void free_bootmem_late(unsigned long physaddr, unsigned long size);
34-
3533
/* We are using top down, so it is safe to use 0 here */
3634
#define BOOTMEM_LOW_LIMIT 0
3735

mm/nobootmem.c

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -33,30 +33,6 @@ unsigned long min_low_pfn;
3333
unsigned long max_pfn;
3434
unsigned long long max_possible_pfn;
3535

36-
/**
37-
* free_bootmem_late - free bootmem pages directly to page allocator
38-
* @addr: starting address of the range
39-
* @size: size of the range in bytes
40-
*
41-
* This is only useful when the bootmem allocator has already been torn
42-
* down, but we are still initializing the system. Pages are given directly
43-
* to the page allocator, no bootmem metadata is updated because it is gone.
44-
*/
45-
void __init free_bootmem_late(unsigned long addr, unsigned long size)
46-
{
47-
unsigned long cursor, end;
48-
49-
kmemleak_free_part_phys(addr, size);
50-
51-
cursor = PFN_UP(addr);
52-
end = PFN_DOWN(addr + size);
53-
54-
for (; cursor < end; cursor++) {
55-
__free_pages_bootmem(pfn_to_page(cursor), cursor, 0);
56-
totalram_pages++;
57-
}
58-
}
59-
6036
static void __init __free_pages_memory(unsigned long start, unsigned long end)
6137
{
6238
int order;

0 commit comments

Comments
 (0)