OSDN Git Service

memblock: replace __alloc_bootmem_node with appropriate memblock_ API
authorMike Rapoport <rppt@linux.vnet.ibm.com>
Tue, 30 Oct 2018 22:08:45 +0000 (15:08 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 31 Oct 2018 15:54:15 +0000 (08:54 -0700)
Use memblock_alloc_try_nid whenever goal (i.e. minimal address is
specified) and memblock_alloc_node otherwise.

Link: http://lkml.kernel.org/r/1536927045-23536-17-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>
arch/ia64/mm/discontig.c
arch/powerpc/kernel/setup_64.c
arch/sparc/kernel/setup_64.c
arch/sparc/kernel/smp_64.c

index 1928d57..918dda9 100644 (file)
@@ -451,8 +451,10 @@ static void __init *memory_less_node_alloc(int nid, unsigned long pernodesize)
        if (bestnode == -1)
                bestnode = anynode;
 
-       ptr = __alloc_bootmem_node(pgdat_list[bestnode], pernodesize,
-               PERCPU_PAGE_SIZE, __pa(MAX_DMA_ADDRESS));
+       ptr = memblock_alloc_try_nid(pernodesize, PERCPU_PAGE_SIZE,
+                                    __pa(MAX_DMA_ADDRESS),
+                                    BOOTMEM_ALLOC_ACCESSIBLE,
+                                    bestnode);
 
        return ptr;
 }
index faf0022..26d7c49 100644 (file)
@@ -763,8 +763,10 @@ void __init emergency_stack_init(void)
 
 static void * __init pcpu_fc_alloc(unsigned int cpu, size_t size, size_t align)
 {
-       return __alloc_bootmem_node(NODE_DATA(early_cpu_to_node(cpu)), size, align,
-                                   __pa(MAX_DMA_ADDRESS));
+       return memblock_alloc_try_nid(size, align, __pa(MAX_DMA_ADDRESS),
+                                     BOOTMEM_ALLOC_ACCESSIBLE,
+                                     early_cpu_to_node(cpu));
+
 }
 
 static void __init pcpu_fc_free(void *ptr, size_t size)
index 7944b3c..de7c87b 100644 (file)
@@ -621,12 +621,10 @@ void __init alloc_irqstack_bootmem(void)
        for_each_possible_cpu(i) {
                node = cpu_to_node(i);
 
-               softirq_stack[i] = __alloc_bootmem_node(NODE_DATA(node),
-                                                       THREAD_SIZE,
-                                                       THREAD_SIZE, 0);
-               hardirq_stack[i] = __alloc_bootmem_node(NODE_DATA(node),
-                                                       THREAD_SIZE,
-                                                       THREAD_SIZE, 0);
+               softirq_stack[i] = memblock_alloc_node(THREAD_SIZE,
+                                                      THREAD_SIZE, node);
+               hardirq_stack[i] = memblock_alloc_node(THREAD_SIZE,
+                                                      THREAD_SIZE, node);
        }
 }
 
index d3ea1f3..83ff88d 100644 (file)
@@ -1594,8 +1594,8 @@ static void * __init pcpu_alloc_bootmem(unsigned int cpu, size_t size,
                pr_debug("per cpu data for cpu%d %lu bytes at %016lx\n",
                         cpu, size, __pa(ptr));
        } else {
-               ptr = __alloc_bootmem_node(NODE_DATA(node),
-                                          size, align, goal);
+               ptr = memblock_alloc_try_nid(size, align, goal,
+                                            BOOTMEM_ALLOC_ACCESSIBLE, node);
                pr_debug("per cpu data for cpu%d %lu bytes on node%d at "
                         "%016lx\n", cpu, size, node, __pa(ptr));
        }