Skip to content

Commit 4fc4a09

Browse files
rppttorvalds
authored andcommitted
memblock: replace __alloc_bootmem with memblock_alloc_from
The functions are equivalent, just the later does not require nobootmem translation layer. The conversion is done using the following semantic patch: @@ expression size, align, goal; @@ - __alloc_bootmem(size, align, goal) + memblock_alloc_from(size, align, goal) Link: http://lkml.kernel.org/r/1536927045-23536-21-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 15c3c11 commit 4fc4a09

File tree

12 files changed

+36
-24
lines changed

12 files changed

+36
-24
lines changed

arch/alpha/kernel/core_cia.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ cia_prepare_tbia_workaround(int window)
331331
long i;
332332

333333
/* Use minimal 1K map. */
334-
ppte = __alloc_bootmem(CIA_BROKEN_TBIA_SIZE, 32768, 0);
334+
ppte = memblock_alloc_from(CIA_BROKEN_TBIA_SIZE, 32768, 0);
335335
pte = (virt_to_phys(ppte) >> (PAGE_SHIFT - 1)) | 1;
336336

337337
for (i = 0; i < CIA_BROKEN_TBIA_SIZE / sizeof(unsigned long); ++i)

arch/alpha/kernel/pci_iommu.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,13 @@ iommu_arena_new_node(int nid, struct pci_controller *hose, dma_addr_t base,
8787
printk("%s: couldn't allocate arena ptes from node %d\n"
8888
" falling back to system-wide allocation\n",
8989
__func__, nid);
90-
arena->ptes = __alloc_bootmem(mem_size, align, 0);
90+
arena->ptes = memblock_alloc_from(mem_size, align, 0);
9191
}
9292

9393
#else /* CONFIG_DISCONTIGMEM */
9494

9595
arena = alloc_bootmem(sizeof(*arena));
96-
arena->ptes = __alloc_bootmem(mem_size, align, 0);
96+
arena->ptes = memblock_alloc_from(mem_size, align, 0);
9797

9898
#endif /* CONFIG_DISCONTIGMEM */
9999

arch/alpha/kernel/setup.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ move_initrd(unsigned long mem_limit)
294294
unsigned long size;
295295

296296
size = initrd_end - initrd_start;
297-
start = __alloc_bootmem(PAGE_ALIGN(size), PAGE_SIZE, 0);
297+
start = memblock_alloc_from(PAGE_ALIGN(size), PAGE_SIZE, 0);
298298
if (!start || __pa(start) + size > mem_limit) {
299299
initrd_start = initrd_end = 0;
300300
return NULL;

arch/ia64/kernel/mca.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1835,8 +1835,8 @@ format_mca_init_stack(void *mca_data, unsigned long offset,
18351835
/* Caller prevents this from being called after init */
18361836
static void * __ref mca_bootmem(void)
18371837
{
1838-
return __alloc_bootmem(sizeof(struct ia64_mca_cpu),
1839-
KERNEL_STACK_SIZE, 0);
1838+
return memblock_alloc_from(sizeof(struct ia64_mca_cpu),
1839+
KERNEL_STACK_SIZE, 0);
18401840
}
18411841

18421842
/* Do per-CPU MCA-related initialization. */

arch/ia64/mm/contig.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,9 @@ void *per_cpu_init(void)
8585
static inline void
8686
alloc_per_cpu_data(void)
8787
{
88-
cpu_data = __alloc_bootmem(PERCPU_PAGE_SIZE * num_possible_cpus(),
89-
PERCPU_PAGE_SIZE, __pa(MAX_DMA_ADDRESS));
88+
cpu_data = memblock_alloc_from(PERCPU_PAGE_SIZE * num_possible_cpus(),
89+
PERCPU_PAGE_SIZE,
90+
__pa(MAX_DMA_ADDRESS));
9091
}
9192

9293
/**

arch/mips/kernel/traps.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2263,7 +2263,7 @@ void __init trap_init(void)
22632263

22642264
memblock_set_bottom_up(true);
22652265
ebase = (unsigned long)
2266-
__alloc_bootmem(size, 1 << fls(size), 0);
2266+
memblock_alloc_from(size, 1 << fls(size), 0);
22672267
memblock_set_bottom_up(false);
22682268

22692269
/*

arch/sparc/kernel/prom_32.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ void * __init prom_early_alloc(unsigned long size)
3232
{
3333
void *ret;
3434

35-
ret = __alloc_bootmem(size, SMP_CACHE_BYTES, 0UL);
35+
ret = memblock_alloc_from(size, SMP_CACHE_BYTES, 0UL);
3636
if (ret != NULL)
3737
memset(ret, 0, size);
3838

arch/sparc/kernel/smp_64.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1588,7 +1588,7 @@ static void * __init pcpu_alloc_bootmem(unsigned int cpu, size_t size,
15881588
void *ptr;
15891589

15901590
if (!node_online(node) || !NODE_DATA(node)) {
1591-
ptr = __alloc_bootmem(size, align, goal);
1591+
ptr = memblock_alloc_from(size, align, goal);
15921592
pr_info("cpu %d has no node %d or node-local memory\n",
15931593
cpu, node);
15941594
pr_debug("per cpu data for cpu%d %lu bytes at %016lx\n",
@@ -1601,7 +1601,7 @@ static void * __init pcpu_alloc_bootmem(unsigned int cpu, size_t size,
16011601
}
16021602
return ptr;
16031603
#else
1604-
return __alloc_bootmem(size, align, goal);
1604+
return memblock_alloc_from(size, align, goal);
16051605
#endif
16061606
}
16071607

@@ -1627,23 +1627,23 @@ static void __init pcpu_populate_pte(unsigned long addr)
16271627
if (pgd_none(*pgd)) {
16281628
pud_t *new;
16291629

1630-
new = __alloc_bootmem(PAGE_SIZE, PAGE_SIZE, PAGE_SIZE);
1630+
new = memblock_alloc_from(PAGE_SIZE, PAGE_SIZE, PAGE_SIZE);
16311631
pgd_populate(&init_mm, pgd, new);
16321632
}
16331633

16341634
pud = pud_offset(pgd, addr);
16351635
if (pud_none(*pud)) {
16361636
pmd_t *new;
16371637

1638-
new = __alloc_bootmem(PAGE_SIZE, PAGE_SIZE, PAGE_SIZE);
1638+
new = memblock_alloc_from(PAGE_SIZE, PAGE_SIZE, PAGE_SIZE);
16391639
pud_populate(&init_mm, pud, new);
16401640
}
16411641

16421642
pmd = pmd_offset(pud, addr);
16431643
if (!pmd_present(*pmd)) {
16441644
pte_t *new;
16451645

1646-
new = __alloc_bootmem(PAGE_SIZE, PAGE_SIZE, PAGE_SIZE);
1646+
new = memblock_alloc_from(PAGE_SIZE, PAGE_SIZE, PAGE_SIZE);
16471647
pmd_populate_kernel(&init_mm, pmd, new);
16481648
}
16491649
}

arch/sparc/mm/init_32.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ void __init mem_init(void)
265265
i = last_valid_pfn >> ((20 - PAGE_SHIFT) + 5);
266266
i += 1;
267267
sparc_valid_addr_bitmap = (unsigned long *)
268-
__alloc_bootmem(i << 2, SMP_CACHE_BYTES, 0UL);
268+
memblock_alloc_from(i << 2, SMP_CACHE_BYTES, 0UL);
269269

270270
if (sparc_valid_addr_bitmap == NULL) {
271271
prom_printf("mem_init: Cannot alloc valid_addr_bitmap.\n");

arch/sparc/mm/init_64.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1811,7 +1811,8 @@ static unsigned long __ref kernel_map_range(unsigned long pstart,
18111811
if (pgd_none(*pgd)) {
18121812
pud_t *new;
18131813

1814-
new = __alloc_bootmem(PAGE_SIZE, PAGE_SIZE, PAGE_SIZE);
1814+
new = memblock_alloc_from(PAGE_SIZE, PAGE_SIZE,
1815+
PAGE_SIZE);
18151816
alloc_bytes += PAGE_SIZE;
18161817
pgd_populate(&init_mm, pgd, new);
18171818
}
@@ -1823,7 +1824,8 @@ static unsigned long __ref kernel_map_range(unsigned long pstart,
18231824
vstart = kernel_map_hugepud(vstart, vend, pud);
18241825
continue;
18251826
}
1826-
new = __alloc_bootmem(PAGE_SIZE, PAGE_SIZE, PAGE_SIZE);
1827+
new = memblock_alloc_from(PAGE_SIZE, PAGE_SIZE,
1828+
PAGE_SIZE);
18271829
alloc_bytes += PAGE_SIZE;
18281830
pud_populate(&init_mm, pud, new);
18291831
}
@@ -1836,7 +1838,8 @@ static unsigned long __ref kernel_map_range(unsigned long pstart,
18361838
vstart = kernel_map_hugepmd(vstart, vend, pmd);
18371839
continue;
18381840
}
1839-
new = __alloc_bootmem(PAGE_SIZE, PAGE_SIZE, PAGE_SIZE);
1841+
new = memblock_alloc_from(PAGE_SIZE, PAGE_SIZE,
1842+
PAGE_SIZE);
18401843
alloc_bytes += PAGE_SIZE;
18411844
pmd_populate_kernel(&init_mm, pmd, new);
18421845
}

arch/sparc/mm/srmmu.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -303,13 +303,13 @@ static void __init srmmu_nocache_init(void)
303303

304304
bitmap_bits = srmmu_nocache_size >> SRMMU_NOCACHE_BITMAP_SHIFT;
305305

306-
srmmu_nocache_pool = __alloc_bootmem(srmmu_nocache_size,
307-
SRMMU_NOCACHE_ALIGN_MAX, 0UL);
306+
srmmu_nocache_pool = memblock_alloc_from(srmmu_nocache_size,
307+
SRMMU_NOCACHE_ALIGN_MAX, 0UL);
308308
memset(srmmu_nocache_pool, 0, srmmu_nocache_size);
309309

310310
srmmu_nocache_bitmap =
311-
__alloc_bootmem(BITS_TO_LONGS(bitmap_bits) * sizeof(long),
312-
SMP_CACHE_BYTES, 0UL);
311+
memblock_alloc_from(BITS_TO_LONGS(bitmap_bits) * sizeof(long),
312+
SMP_CACHE_BYTES, 0UL);
313313
bit_map_init(&srmmu_nocache_map, srmmu_nocache_bitmap, bitmap_bits);
314314

315315
srmmu_swapper_pg_dir = __srmmu_get_nocache(SRMMU_PGD_TABLE_SIZE, SRMMU_PGD_TABLE_SIZE);
@@ -467,7 +467,7 @@ static void __init sparc_context_init(int numctx)
467467
unsigned long size;
468468

469469
size = numctx * sizeof(struct ctx_list);
470-
ctx_list_pool = __alloc_bootmem(size, SMP_CACHE_BYTES, 0UL);
470+
ctx_list_pool = memblock_alloc_from(size, SMP_CACHE_BYTES, 0UL);
471471

472472
for (ctx = 0; ctx < numctx; ctx++) {
473473
struct ctx_list *clist;

include/linux/bootmem.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,14 @@ static inline void * __init memblock_alloc_raw(
122122
NUMA_NO_NODE);
123123
}
124124

125+
static inline void * __init memblock_alloc_from(
126+
phys_addr_t size, phys_addr_t align, phys_addr_t min_addr)
127+
{
128+
return memblock_alloc_try_nid(size, align, min_addr,
129+
BOOTMEM_ALLOC_ACCESSIBLE,
130+
NUMA_NO_NODE);
131+
}
132+
125133
static inline void * __init memblock_alloc_nopanic(
126134
phys_addr_t size, phys_addr_t align)
127135
{

0 commit comments

Comments
 (0)