Skip to content

Commit 3bb1f80

Browse files
rppttorvalds
authored andcommitted
memblock: replace alloc_bootmem_node with memblock_alloc_node
Both functions attempt to allocate memory with specified alignment from a particular node. If the allocation from that node fails, they both fall back to allocating from any node in the system. Usage of native memblock API eliminates the nobootmem translation layer. Link: http://lkml.kernel.org/r/1536927045-23536-18-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 ccfa2a0 commit 3bb1f80

File tree

3 files changed

+6
-9
lines changed

3 files changed

+6
-9
lines changed

arch/alpha/kernel/pci_iommu.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,15 @@ iommu_arena_new_node(int nid, struct pci_controller *hose, dma_addr_t base,
7474

7575
#ifdef CONFIG_DISCONTIGMEM
7676

77-
arena = alloc_bootmem_node(NODE_DATA(nid), sizeof(*arena));
77+
arena = memblock_alloc_node(sizeof(*arena), align, nid);
7878
if (!NODE_DATA(nid) || !arena) {
7979
printk("%s: couldn't allocate arena from node %d\n"
8080
" falling back to system-wide allocation\n",
8181
__func__, nid);
8282
arena = alloc_bootmem(sizeof(*arena));
8383
}
8484

85-
arena->ptes = __alloc_bootmem_node(NODE_DATA(nid), mem_size, align, 0);
85+
arena->ptes = memblock_alloc_node(sizeof(*arena), align, nid);
8686
if (!NODE_DATA(nid) || !arena->ptes) {
8787
printk("%s: couldn't allocate arena ptes from node %d\n"
8888
" falling back to system-wide allocation\n",

arch/ia64/sn/kernel/io_common.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -385,16 +385,13 @@ void __init hubdev_init_node(nodepda_t * npda, cnodeid_t node)
385385
{
386386
struct hubdev_info *hubdev_info;
387387
int size;
388-
pg_data_t *pg;
389388

390389
size = sizeof(struct hubdev_info);
391390

392391
if (node >= num_online_nodes()) /* Headless/memless IO nodes */
393-
pg = NODE_DATA(0);
394-
else
395-
pg = NODE_DATA(node);
392+
node = 0;
396393

397-
hubdev_info = (struct hubdev_info *)alloc_bootmem_node(pg, size);
394+
hubdev_info = (struct hubdev_info *)memblock_alloc_node(size, 0, node);
398395

399396
npda->pdinfo = (void *)hubdev_info;
400397
}

arch/ia64/sn/kernel/setup.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ static void __init sn_init_pdas(char **cmdline_p)
511511
*/
512512
for_each_online_node(cnode) {
513513
nodepdaindr[cnode] =
514-
alloc_bootmem_node(NODE_DATA(cnode), sizeof(nodepda_t));
514+
memblock_alloc_node(sizeof(nodepda_t), 0, cnode);
515515
memset(nodepdaindr[cnode]->phys_cpuid, -1,
516516
sizeof(nodepdaindr[cnode]->phys_cpuid));
517517
spin_lock_init(&nodepdaindr[cnode]->ptc_lock);
@@ -522,7 +522,7 @@ static void __init sn_init_pdas(char **cmdline_p)
522522
*/
523523
for (cnode = num_online_nodes(); cnode < num_cnodes; cnode++)
524524
nodepdaindr[cnode] =
525-
alloc_bootmem_node(NODE_DATA(0), sizeof(nodepda_t));
525+
memblock_alloc_node(sizeof(nodepda_t), 0, 0);
526526

527527
/*
528528
* Now copy the array of nodepda pointers to each nodepda.

0 commit comments

Comments
 (0)