The patch titled Subject: memblock: replace BOOTMEM_ALLOC_* with MEMBLOCK variants has been added to the -mm tree. Its filename is memblock-replace-bootmem_alloc_-with-memblock-variants.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/memblock-replace-bootmem_alloc_-with-memblock-variants.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/memblock-replace-bootmem_alloc_-with-memblock-variants.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Mike Rapoport <rppt@xxxxxxxxxxxxxxxxxx> Subject: memblock: replace BOOTMEM_ALLOC_* with MEMBLOCK variants Drop BOOTMEM_ALLOC_ACCESSIBLE and BOOTMEM_ALLOC_ANYWHERE in favor of identical MEMBLOCK definitions. Link: http://lkml.kernel.org/r/1536927045-23536-29-git-send-email-rppt@xxxxxxxxxxxxxxxxxx Signed-off-by: Mike Rapoport <rppt@xxxxxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Chris Zankel <chris@xxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Greentime Hu <green.hu@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Guan Xuetao <gxt@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Jonas Bonn <jonas@xxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Ley Foon Tan <lftan@xxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Cc: Palmer Dabbelt <palmer@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxx> Cc: Richard Kuo <rkuo@xxxxxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: Rich Felker <dalias@xxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxx> Cc: Serge Semin <fancer.lancer@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/ia64/mm/discontig.c | 2 +- arch/powerpc/kernel/setup_64.c | 2 +- arch/sparc/kernel/smp_64.c | 2 +- arch/x86/kernel/setup_percpu.c | 2 +- arch/x86/mm/kasan_init_64.c | 4 ++-- mm/hugetlb.c | 3 ++- mm/kasan/kasan_init.c | 2 +- mm/memblock.c | 8 ++++---- mm/page_ext.c | 2 +- mm/sparse-vmemmap.c | 3 ++- mm/sparse.c | 5 +++-- 11 files changed, 19 insertions(+), 16 deletions(-) --- a/arch/ia64/mm/discontig.c~memblock-replace-bootmem_alloc_-with-memblock-variants +++ a/arch/ia64/mm/discontig.c @@ -453,7 +453,7 @@ static void __init *memory_less_node_all ptr = memblock_alloc_try_nid(pernodesize, PERCPU_PAGE_SIZE, __pa(MAX_DMA_ADDRESS), - BOOTMEM_ALLOC_ACCESSIBLE, + MEMBLOCK_ALLOC_ACCESSIBLE, bestnode); return ptr; --- a/arch/powerpc/kernel/setup_64.c~memblock-replace-bootmem_alloc_-with-memblock-variants +++ a/arch/powerpc/kernel/setup_64.c @@ -758,7 +758,7 @@ void __init emergency_stack_init(void) static void * __init pcpu_fc_alloc(unsigned int cpu, size_t size, size_t align) { return memblock_alloc_try_nid(size, align, __pa(MAX_DMA_ADDRESS), - BOOTMEM_ALLOC_ACCESSIBLE, + MEMBLOCK_ALLOC_ACCESSIBLE, early_cpu_to_node(cpu)); } --- a/arch/sparc/kernel/smp_64.c~memblock-replace-bootmem_alloc_-with-memblock-variants +++ a/arch/sparc/kernel/smp_64.c @@ -1595,7 +1595,7 @@ static void * __init pcpu_alloc_bootmem( cpu, size, __pa(ptr)); } else { ptr = memblock_alloc_try_nid(size, align, goal, - BOOTMEM_ALLOC_ACCESSIBLE, node); + MEMBLOCK_ALLOC_ACCESSIBLE, node); pr_debug("per cpu data for cpu%d %lu bytes on node%d at " "%016lx\n", cpu, size, node, __pa(ptr)); } --- a/arch/x86/kernel/setup_percpu.c~memblock-replace-bootmem_alloc_-with-memblock-variants +++ a/arch/x86/kernel/setup_percpu.c @@ -114,7 +114,7 @@ static void * __init pcpu_alloc_bootmem( cpu, size, __pa(ptr)); } else { ptr = memblock_alloc_try_nid_nopanic(size, align, goal, - BOOTMEM_ALLOC_ACCESSIBLE, + MEMBLOCK_ALLOC_ACCESSIBLE, node); pr_debug("per cpu data for cpu%d %lu bytes on node%d at %016lx\n", --- a/arch/x86/mm/kasan_init_64.c~memblock-replace-bootmem_alloc_-with-memblock-variants +++ a/arch/x86/mm/kasan_init_64.c @@ -29,10 +29,10 @@ static __init void *early_alloc(size_t s { if (panic) return memblock_alloc_try_nid(size, size, - __pa(MAX_DMA_ADDRESS), BOOTMEM_ALLOC_ACCESSIBLE, nid); + __pa(MAX_DMA_ADDRESS), MEMBLOCK_ALLOC_ACCESSIBLE, nid); else return memblock_alloc_try_nid_nopanic(size, size, - __pa(MAX_DMA_ADDRESS), BOOTMEM_ALLOC_ACCESSIBLE, nid); + __pa(MAX_DMA_ADDRESS), MEMBLOCK_ALLOC_ACCESSIBLE, nid); } static void __init kasan_populate_pmd(pmd_t *pmd, unsigned long addr, --- a/mm/hugetlb.c~memblock-replace-bootmem_alloc_-with-memblock-variants +++ a/mm/hugetlb.c @@ -16,6 +16,7 @@ #include <linux/cpuset.h> #include <linux/mutex.h> #include <linux/bootmem.h> +#include <linux/memblock.h> #include <linux/sysfs.h> #include <linux/slab.h> #include <linux/mmdebug.h> @@ -2102,7 +2103,7 @@ int __alloc_bootmem_huge_page(struct hst addr = memblock_alloc_try_nid_raw( huge_page_size(h), huge_page_size(h), - 0, BOOTMEM_ALLOC_ACCESSIBLE, node); + 0, MEMBLOCK_ALLOC_ACCESSIBLE, node); if (addr) { /* * Use the beginning of the huge page to store the --- a/mm/kasan/kasan_init.c~memblock-replace-bootmem_alloc_-with-memblock-variants +++ a/mm/kasan/kasan_init.c @@ -84,7 +84,7 @@ static inline bool kasan_zero_page_entry static __init void *early_alloc(size_t size, int node) { return memblock_alloc_try_nid(size, size, __pa(MAX_DMA_ADDRESS), - BOOTMEM_ALLOC_ACCESSIBLE, node); + MEMBLOCK_ALLOC_ACCESSIBLE, node); } static void __ref zero_pte_populate(pmd_t *pmd, unsigned long addr, --- a/mm/memblock.c~memblock-replace-bootmem_alloc_-with-memblock-variants +++ a/mm/memblock.c @@ -1393,7 +1393,7 @@ phys_addr_t __init memblock_phys_alloc_t * hold the requested memory. * * The allocation is performed from memory region limited by - * memblock.current_limit if @max_addr == %BOOTMEM_ALLOC_ACCESSIBLE. + * memblock.current_limit if @max_addr == %MEMBLOCK_ALLOC_ACCESSIBLE. * * The memory block is aligned on %SMP_CACHE_BYTES if @align == 0. * @@ -1480,7 +1480,7 @@ done: * @min_addr: the lower bound of the memory region from where the allocation * is preferred (phys address) * @max_addr: the upper bound of the memory region from where the allocation - * is preferred (phys address), or %BOOTMEM_ALLOC_ACCESSIBLE to + * is preferred (phys address), or %MEMBLOCK_ALLOC_ACCESSIBLE to * allocate only from memory limited by memblock.current_limit value * @nid: nid of the free area to find, %NUMA_NO_NODE for any node * @@ -1518,7 +1518,7 @@ void * __init memblock_alloc_try_nid_raw * @min_addr: the lower bound of the memory region from where the allocation * is preferred (phys address) * @max_addr: the upper bound of the memory region from where the allocation - * is preferred (phys address), or %BOOTMEM_ALLOC_ACCESSIBLE to + * is preferred (phys address), or %MEMBLOCK_ALLOC_ACCESSIBLE to * allocate only from memory limited by memblock.current_limit value * @nid: nid of the free area to find, %NUMA_NO_NODE for any node * @@ -1553,7 +1553,7 @@ void * __init memblock_alloc_try_nid_nop * @min_addr: the lower bound of the memory region from where the allocation * is preferred (phys address) * @max_addr: the upper bound of the memory region from where the allocation - * is preferred (phys address), or %BOOTMEM_ALLOC_ACCESSIBLE to + * is preferred (phys address), or %MEMBLOCK_ALLOC_ACCESSIBLE to * allocate only from memory limited by memblock.current_limit value * @nid: nid of the free area to find, %NUMA_NO_NODE for any node * --- a/mm/page_ext.c~memblock-replace-bootmem_alloc_-with-memblock-variants +++ a/mm/page_ext.c @@ -163,7 +163,7 @@ static int __init alloc_node_page_ext(in base = memblock_alloc_try_nid_nopanic( table_size, PAGE_SIZE, __pa(MAX_DMA_ADDRESS), - BOOTMEM_ALLOC_ACCESSIBLE, nid); + MEMBLOCK_ALLOC_ACCESSIBLE, nid); if (!base) return -ENOMEM; NODE_DATA(nid)->node_page_ext = base; --- a/mm/sparse.c~memblock-replace-bootmem_alloc_-with-memblock-variants +++ a/mm/sparse.c @@ -6,6 +6,7 @@ #include <linux/slab.h> #include <linux/mmzone.h> #include <linux/bootmem.h> +#include <linux/memblock.h> #include <linux/compiler.h> #include <linux/highmem.h> #include <linux/export.h> @@ -393,7 +394,7 @@ struct page __init *sparse_mem_map_popul map = memblock_alloc_try_nid(size, PAGE_SIZE, __pa(MAX_DMA_ADDRESS), - BOOTMEM_ALLOC_ACCESSIBLE, nid); + MEMBLOCK_ALLOC_ACCESSIBLE, nid); return map; } #endif /* !CONFIG_SPARSEMEM_VMEMMAP */ @@ -407,7 +408,7 @@ static void __init sparse_buffer_init(un sparsemap_buf = memblock_alloc_try_nid_raw(size, PAGE_SIZE, __pa(MAX_DMA_ADDRESS), - BOOTMEM_ALLOC_ACCESSIBLE, nid); + MEMBLOCK_ALLOC_ACCESSIBLE, nid); sparsemap_buf_end = sparsemap_buf + size; } --- a/mm/sparse-vmemmap.c~memblock-replace-bootmem_alloc_-with-memblock-variants +++ a/mm/sparse-vmemmap.c @@ -21,6 +21,7 @@ #include <linux/mm.h> #include <linux/mmzone.h> #include <linux/bootmem.h> +#include <linux/memblock.h> #include <linux/memremap.h> #include <linux/highmem.h> #include <linux/slab.h> @@ -43,7 +44,7 @@ static void * __ref __earlyonly_bootmem_ unsigned long goal) { return memblock_alloc_try_nid_raw(size, align, goal, - BOOTMEM_ALLOC_ACCESSIBLE, node); + MEMBLOCK_ALLOC_ACCESSIBLE, node); } void * __meminit vmemmap_alloc_block(unsigned long size, int node) _ Patches currently in -mm which might be from rppt@xxxxxxxxxxxxxxxxxx are hexagon-switch-to-no_bootmem.patch of-ignore-sub-page-memory-regions.patch nios2-use-generic-early_init_dt_add_memory_arch.patch nios2-switch-to-no_bootmem.patch um-setup_physmem-stop-using-global-variables.patch um-switch-to-no_bootmem.patch unicore32-switch-to-no_bootmem.patch alpha-switch-to-no_bootmem.patch mips-switch-to-no_bootmem.patch mm-remove-config_no_bootmem.patch mm-remove-config_have_memblock.patch mm-remove-bootmem-allocator-implementation.patch mm-nobootmem-remove-dead-code.patch memblock-rename-memblock_alloc_nid_try_nid-to-memblock_phys_alloc.patch memblock-remove-_virt-from-apis-returning-virtual-address.patch memblock-replace-alloc_bootmem_align-with-memblock_alloc.patch memblock-replace-alloc_bootmem_low-with-memblock_alloc_low.patch memblock-replace-__alloc_bootmem_node_nopanic-with-memblock_alloc_try_nid_nopanic.patch memblock-replace-alloc_bootmem_pages_nopanic-with-memblock_alloc_nopanic.patch memblock-replace-__alloc_bootmem_nopanic-with-memblock_alloc_from_nopanic.patch memblock-add-align-parameter-to-memblock_alloc_node.patch memblock-replace-alloc_bootmem_pages_node-with-memblock_alloc_node.patch memblock-replace-__alloc_bootmem_node-with-appropriate-memblock_-api.patch memblock-replace-alloc_bootmem_node-with-memblock_alloc_node.patch memblock-replace-alloc_bootmem_low_pages-with-memblock_alloc_low.patch memblock-replace-alloc_bootmem_pages-with-memblock_alloc.patch memblock-replace-__alloc_bootmem-with-memblock_alloc_from.patch memblock-replace-alloc_bootmem-with-memblock_alloc.patch mm-nobootmem-remove-bootmem-allocation-apis.patch memblock-replace-free_bootmem_node-with-memblock_free.patch memblock-replace-free_bootmem_late-with-memblock_free_late.patch memblock-rename-free_all_bootmem-to-memblock_free_all.patch memblock-rename-__free_pages_bootmem-to-memblock_free_pages.patch mm-remove-nobootmem.patch memblock-replace-bootmem_alloc_-with-memblock-variants.patch mm-remove-include-linux-bootmemh.patch docs-boot-time-mm-remove-bootmem-documentation.patch