All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@kernel.org>
To: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Ingo Molnar <mingo@redhat.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Paul Burton <paul.burton@mips.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Tony Luck <tony.luck@intel.com>,
	linux-ia64@vger.kernel.org, linux-mips@linux-mips.org,
	linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 06/29] memblock: rename memblock_alloc{_nid,_try_nid} to memblock_phys_alloc*
Date: Thu, 6 Sep 2018 09:35:33 +0200	[thread overview]
Message-ID: <20180906073533.GP14951@dhcp22.suse.cz> (raw)
In-Reply-To: <1536163184-26356-7-git-send-email-rppt@linux.vnet.ibm.com>

On Wed 05-09-18 18:59:21, Mike Rapoport wrote:
> This will allow using memblock_alloc for memblock allocations returning
> virtual address.

The description confused me at first because it talks about a future
patch rather than this one.

Anyway unlike the other renaming patch I agree with this one. It makes
it explicit that the caller gets a physical address rather than a
virtual one. Just make it explicit in the changelog.

> The conversion is done using the following semantic patch:
> 
> @@
> expression e1, e2, e3;
> @@
> (
> - memblock_alloc(e1, e2)
> + memblock_phys_alloc(e1, e2)
> |
> - memblock_alloc_nid(e1, e2, e3)
> + memblock_phys_alloc_nid(e1, e2, e3)
> |
> - memblock_alloc_try_nid(e1, e2, e3)
> + memblock_phys_alloc_try_nid(e1, e2, e3)
> )
> 
> Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>

I do trust Coccinelle so I haven't double checked the resulting patch
but the change makes sense to me

Acked-by: Michal Hocko <mhocko@suse.com>

> ---
>  arch/arm/mm/mmu.c                     |  2 +-
>  arch/arm64/mm/mmu.c                   |  2 +-
>  arch/arm64/mm/numa.c                  |  2 +-
>  arch/c6x/mm/dma-coherent.c            |  4 ++--
>  arch/nds32/mm/init.c                  |  8 ++++----
>  arch/openrisc/mm/init.c               |  2 +-
>  arch/openrisc/mm/ioremap.c            |  2 +-
>  arch/powerpc/kernel/dt_cpu_ftrs.c     |  4 +---
>  arch/powerpc/kernel/paca.c            |  2 +-
>  arch/powerpc/kernel/prom.c            |  2 +-
>  arch/powerpc/kernel/setup-common.c    |  3 +--
>  arch/powerpc/kernel/setup_32.c        | 10 +++++-----
>  arch/powerpc/mm/numa.c                |  2 +-
>  arch/powerpc/mm/pgtable_32.c          |  2 +-
>  arch/powerpc/mm/ppc_mmu_32.c          |  2 +-
>  arch/powerpc/platforms/pasemi/iommu.c |  2 +-
>  arch/powerpc/platforms/powernv/opal.c |  2 +-
>  arch/powerpc/sysdev/dart_iommu.c      |  2 +-
>  arch/s390/kernel/crash_dump.c         |  2 +-
>  arch/s390/kernel/setup.c              |  3 ++-
>  arch/s390/mm/vmem.c                   |  4 ++--
>  arch/s390/numa/numa.c                 |  2 +-
>  arch/sparc/kernel/mdesc.c             |  2 +-
>  arch/sparc/kernel/prom_64.c           |  2 +-
>  arch/sparc/mm/init_64.c               | 11 ++++++-----
>  arch/unicore32/mm/mmu.c               |  2 +-
>  arch/x86/mm/numa.c                    |  2 +-
>  drivers/firmware/efi/memmap.c         |  2 +-
>  include/linux/memblock.h              |  6 +++---
>  mm/memblock.c                         |  8 ++++----
>  30 files changed, 50 insertions(+), 51 deletions(-)
> 
> diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
> index e46a6a4..f5cc1cc 100644
> --- a/arch/arm/mm/mmu.c
> +++ b/arch/arm/mm/mmu.c
> @@ -721,7 +721,7 @@ EXPORT_SYMBOL(phys_mem_access_prot);
>  
>  static void __init *early_alloc_aligned(unsigned long sz, unsigned long align)
>  {
> -	void *ptr = __va(memblock_alloc(sz, align));
> +	void *ptr = __va(memblock_phys_alloc(sz, align));
>  	memset(ptr, 0, sz);
>  	return ptr;
>  }
> diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
> index 65f8627..33558f4 100644
> --- a/arch/arm64/mm/mmu.c
> +++ b/arch/arm64/mm/mmu.c
> @@ -83,7 +83,7 @@ static phys_addr_t __init early_pgtable_alloc(void)
>  	phys_addr_t phys;
>  	void *ptr;
>  
> -	phys = memblock_alloc(PAGE_SIZE, PAGE_SIZE);
> +	phys = memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE);
>  
>  	/*
>  	 * The FIX_{PGD,PUD,PMD} slots may be in active use, but the FIX_PTE
> diff --git a/arch/arm64/mm/numa.c b/arch/arm64/mm/numa.c
> index 146c04c..e5aacd6 100644
> --- a/arch/arm64/mm/numa.c
> +++ b/arch/arm64/mm/numa.c
> @@ -237,7 +237,7 @@ static void __init setup_node_data(int nid, u64 start_pfn, u64 end_pfn)
>  	if (start_pfn >= end_pfn)
>  		pr_info("Initmem setup node %d [<memory-less node>]\n", nid);
>  
> -	nd_pa = memblock_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
> +	nd_pa = memblock_phys_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
>  	nd = __va(nd_pa);
>  
>  	/* report and initialize */
> diff --git a/arch/c6x/mm/dma-coherent.c b/arch/c6x/mm/dma-coherent.c
> index d0a8e0c..01305c7 100644
> --- a/arch/c6x/mm/dma-coherent.c
> +++ b/arch/c6x/mm/dma-coherent.c
> @@ -135,8 +135,8 @@ void __init coherent_mem_init(phys_addr_t start, u32 size)
>  	if (dma_size & (PAGE_SIZE - 1))
>  		++dma_pages;
>  
> -	bitmap_phys = memblock_alloc(BITS_TO_LONGS(dma_pages) * sizeof(long),
> -				     sizeof(long));
> +	bitmap_phys = memblock_phys_alloc(BITS_TO_LONGS(dma_pages) * sizeof(long),
> +					  sizeof(long));
>  
>  	dma_bitmap = phys_to_virt(bitmap_phys);
>  	memset(dma_bitmap, 0, dma_pages * PAGE_SIZE);
> diff --git a/arch/nds32/mm/init.c b/arch/nds32/mm/init.c
> index c713d2a..5af81b8 100644
> --- a/arch/nds32/mm/init.c
> +++ b/arch/nds32/mm/init.c
> @@ -81,7 +81,7 @@ static void __init map_ram(void)
>  		}
>  
>  		/* Alloc one page for holding PTE's... */
> -		pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +		pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  		memset(pte, 0, PAGE_SIZE);
>  		set_pmd(pme, __pmd(__pa(pte) + _PAGE_KERNEL_TABLE));
>  
> @@ -114,7 +114,7 @@ static void __init fixedrange_init(void)
>  	pgd = swapper_pg_dir + pgd_index(vaddr);
>  	pud = pud_offset(pgd, vaddr);
>  	pmd = pmd_offset(pud, vaddr);
> -	fixmap_pmd_p = (pmd_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +	fixmap_pmd_p = (pmd_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  	memset(fixmap_pmd_p, 0, PAGE_SIZE);
>  	set_pmd(pmd, __pmd(__pa(fixmap_pmd_p) + _PAGE_KERNEL_TABLE));
>  
> @@ -127,7 +127,7 @@ static void __init fixedrange_init(void)
>  	pgd = swapper_pg_dir + pgd_index(vaddr);
>  	pud = pud_offset(pgd, vaddr);
>  	pmd = pmd_offset(pud, vaddr);
> -	pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +	pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  	memset(pte, 0, PAGE_SIZE);
>  	set_pmd(pmd, __pmd(__pa(pte) + _PAGE_KERNEL_TABLE));
>  	pkmap_page_table = pte;
> @@ -153,7 +153,7 @@ void __init paging_init(void)
>  	fixedrange_init();
>  
>  	/* allocate space for empty_zero_page */
> -	zero_page = __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +	zero_page = __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  	memset(zero_page, 0, PAGE_SIZE);
>  	zone_sizes_init();
>  
> diff --git a/arch/openrisc/mm/init.c b/arch/openrisc/mm/init.c
> index 6972d5d..b7670de 100644
> --- a/arch/openrisc/mm/init.c
> +++ b/arch/openrisc/mm/init.c
> @@ -106,7 +106,7 @@ static void __init map_ram(void)
>  			}
>  
>  			/* Alloc one page for holding PTE's... */
> -			pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +			pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  			set_pmd(pme, __pmd(_KERNPG_TABLE + __pa(pte)));
>  
>  			/* Fill the newly allocated page with PTE'S */
> diff --git a/arch/openrisc/mm/ioremap.c b/arch/openrisc/mm/ioremap.c
> index 2175e4b..c969752 100644
> --- a/arch/openrisc/mm/ioremap.c
> +++ b/arch/openrisc/mm/ioremap.c
> @@ -126,7 +126,7 @@ pte_t __ref *pte_alloc_one_kernel(struct mm_struct *mm,
>  	if (likely(mem_init_done)) {
>  		pte = (pte_t *) __get_free_page(GFP_KERNEL);
>  	} else {
> -		pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +		pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  	}
>  
>  	if (pte)
> diff --git a/arch/powerpc/kernel/dt_cpu_ftrs.c b/arch/powerpc/kernel/dt_cpu_ftrs.c
> index f432054..8be3721 100644
> --- a/arch/powerpc/kernel/dt_cpu_ftrs.c
> +++ b/arch/powerpc/kernel/dt_cpu_ftrs.c
> @@ -1008,9 +1008,7 @@ static int __init dt_cpu_ftrs_scan_callback(unsigned long node, const char
>  	/* Count and allocate space for cpu features */
>  	of_scan_flat_dt_subnodes(node, count_cpufeatures_subnodes,
>  						&nr_dt_cpu_features);
> -	dt_cpu_features = __va(
> -		memblock_alloc(sizeof(struct dt_cpu_feature)*
> -				nr_dt_cpu_features, PAGE_SIZE));
> +	dt_cpu_features = __va(memblock_phys_alloc(sizeof(struct dt_cpu_feature) * nr_dt_cpu_features, PAGE_SIZE));
>  
>  	cpufeatures_setup_start(isa);
>  
> diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c
> index 0ee3e6d..f331a00 100644
> --- a/arch/powerpc/kernel/paca.c
> +++ b/arch/powerpc/kernel/paca.c
> @@ -198,7 +198,7 @@ void __init allocate_paca_ptrs(void)
>  	paca_nr_cpu_ids = nr_cpu_ids;
>  
>  	paca_ptrs_size = sizeof(struct paca_struct *) * nr_cpu_ids;
> -	paca_ptrs = __va(memblock_alloc(paca_ptrs_size, 0));
> +	paca_ptrs = __va(memblock_phys_alloc(paca_ptrs_size, 0));
>  	memset(paca_ptrs, 0x88, paca_ptrs_size);
>  }
>  
> diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
> index c4d7078..fe758ce 100644
> --- a/arch/powerpc/kernel/prom.c
> +++ b/arch/powerpc/kernel/prom.c
> @@ -126,7 +126,7 @@ static void __init move_device_tree(void)
>  	if ((memory_limit && (start + size) > PHYSICAL_START + memory_limit) ||
>  			overlaps_crashkernel(start, size) ||
>  			overlaps_initrd(start, size)) {
> -		p = __va(memblock_alloc(size, PAGE_SIZE));
> +		p = __va(memblock_phys_alloc(size, PAGE_SIZE));
>  		memcpy(p, initial_boot_params, size);
>  		initial_boot_params = p;
>  		DBG("Moved device tree to 0x%p\n", p);
> diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
> index 93fa0c9..710ff98 100644
> --- a/arch/powerpc/kernel/setup-common.c
> +++ b/arch/powerpc/kernel/setup-common.c
> @@ -459,8 +459,7 @@ void __init smp_setup_cpu_maps(void)
>  
>  	DBG("smp_setup_cpu_maps()\n");
>  
> -	cpu_to_phys_id = __va(memblock_alloc(nr_cpu_ids * sizeof(u32),
> -							__alignof__(u32)));
> +	cpu_to_phys_id = __va(memblock_phys_alloc(nr_cpu_ids * sizeof(u32), __alignof__(u32)));
>  	memset(cpu_to_phys_id, 0, nr_cpu_ids * sizeof(u32));
>  
>  	for_each_node_by_type(dn, "cpu") {
> diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c
> index 8c507be..8190960 100644
> --- a/arch/powerpc/kernel/setup_32.c
> +++ b/arch/powerpc/kernel/setup_32.c
> @@ -206,9 +206,9 @@ void __init irqstack_early_init(void)
>  	 * as the memblock is limited to lowmem by default */
>  	for_each_possible_cpu(i) {
>  		softirq_ctx[i] = (struct thread_info *)
> -			__va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
> +			__va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
>  		hardirq_ctx[i] = (struct thread_info *)
> -			__va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
> +			__va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
>  	}
>  }
>  
> @@ -227,12 +227,12 @@ void __init exc_lvl_early_init(void)
>  #endif
>  
>  		critirq_ctx[hw_cpu] = (struct thread_info *)
> -			__va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
> +			__va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
>  #ifdef CONFIG_BOOKE
>  		dbgirq_ctx[hw_cpu] = (struct thread_info *)
> -			__va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
> +			__va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
>  		mcheckirq_ctx[hw_cpu] = (struct thread_info *)
> -			__va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
> +			__va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
>  #endif
>  	}
>  }
> diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
> index 35ac542..5fc0587 100644
> --- a/arch/powerpc/mm/numa.c
> +++ b/arch/powerpc/mm/numa.c
> @@ -788,7 +788,7 @@ static void __init setup_node_data(int nid, u64 start_pfn, u64 end_pfn)
>  	void *nd;
>  	int tnid;
>  
> -	nd_pa = memblock_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
> +	nd_pa = memblock_phys_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
>  	nd = __va(nd_pa);
>  
>  	/* report and initialize */
> diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c
> index 120a49b..989a1c2 100644
> --- a/arch/powerpc/mm/pgtable_32.c
> +++ b/arch/powerpc/mm/pgtable_32.c
> @@ -50,7 +50,7 @@ __ref pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)
>  	if (slab_is_available()) {
>  		pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_ZERO);
>  	} else {
> -		pte = __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +		pte = __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  		if (pte)
>  			clear_page(pte);
>  	}
> diff --git a/arch/powerpc/mm/ppc_mmu_32.c b/arch/powerpc/mm/ppc_mmu_32.c
> index bea6c54..9ee0357 100644
> --- a/arch/powerpc/mm/ppc_mmu_32.c
> +++ b/arch/powerpc/mm/ppc_mmu_32.c
> @@ -224,7 +224,7 @@ void __init MMU_init_hw(void)
>  	 * Find some memory for the hash table.
>  	 */
>  	if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322);
> -	Hash = __va(memblock_alloc(Hash_size, Hash_size));
> +	Hash = __va(memblock_phys_alloc(Hash_size, Hash_size));
>  	memset(Hash, 0, Hash_size);
>  	_SDR1 = __pa(Hash) | SDR1_LOW_BITS;
>  
> diff --git a/arch/powerpc/platforms/pasemi/iommu.c b/arch/powerpc/platforms/pasemi/iommu.c
> index f06c83f..f297152 100644
> --- a/arch/powerpc/platforms/pasemi/iommu.c
> +++ b/arch/powerpc/platforms/pasemi/iommu.c
> @@ -213,7 +213,7 @@ static int __init iob_init(struct device_node *dn)
>  	pr_info("IOBMAP L2 allocated at: %p\n", iob_l2_base);
>  
>  	/* Allocate a spare page to map all invalid IOTLB pages. */
> -	tmp = memblock_alloc(IOBMAP_PAGE_SIZE, IOBMAP_PAGE_SIZE);
> +	tmp = memblock_phys_alloc(IOBMAP_PAGE_SIZE, IOBMAP_PAGE_SIZE);
>  	if (!tmp)
>  		panic("IOBMAP: Cannot allocate spare page!");
>  	/* Empty l1 is marked invalid */
> diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
> index 38fe408..9431921 100644
> --- a/arch/powerpc/platforms/powernv/opal.c
> +++ b/arch/powerpc/platforms/powernv/opal.c
> @@ -171,7 +171,7 @@ int __init early_init_dt_scan_recoverable_ranges(unsigned long node,
>  	/*
>  	 * Allocate a buffer to hold the MC recoverable ranges.
>  	 */
> -	mc_recoverable_range =__va(memblock_alloc(size, __alignof__(u64)));
> +	mc_recoverable_range =__va(memblock_phys_alloc(size, __alignof__(u64)));
>  	memset(mc_recoverable_range, 0, size);
>  
>  	for (i = 0; i < mc_recoverable_range_len; i++) {
> diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c
> index 5ca3e22..a5b40d1 100644
> --- a/arch/powerpc/sysdev/dart_iommu.c
> +++ b/arch/powerpc/sysdev/dart_iommu.c
> @@ -261,7 +261,7 @@ static void allocate_dart(void)
>  	 * that to work around what looks like a problem with the HT bridge
>  	 * prefetching into invalid pages and corrupting data
>  	 */
> -	tmp = memblock_alloc(DART_PAGE_SIZE, DART_PAGE_SIZE);
> +	tmp = memblock_phys_alloc(DART_PAGE_SIZE, DART_PAGE_SIZE);
>  	dart_emptyval = DARTMAP_VALID | ((tmp >> DART_PAGE_SHIFT) &
>  					 DARTMAP_RPNMASK);
>  
> diff --git a/arch/s390/kernel/crash_dump.c b/arch/s390/kernel/crash_dump.c
> index 376f6b6..d17566a 100644
> --- a/arch/s390/kernel/crash_dump.c
> +++ b/arch/s390/kernel/crash_dump.c
> @@ -61,7 +61,7 @@ struct save_area * __init save_area_alloc(bool is_boot_cpu)
>  {
>  	struct save_area *sa;
>  
> -	sa = (void *) memblock_alloc(sizeof(*sa), 8);
> +	sa = (void *) memblock_phys_alloc(sizeof(*sa), 8);
>  	if (is_boot_cpu)
>  		list_add(&sa->list, &dump_save_areas);
>  	else
> diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
> index c637c12..2f2ee43 100644
> --- a/arch/s390/kernel/setup.c
> +++ b/arch/s390/kernel/setup.c
> @@ -843,7 +843,8 @@ static void __init setup_randomness(void)
>  {
>  	struct sysinfo_3_2_2 *vmms;
>  
> -	vmms = (struct sysinfo_3_2_2 *) memblock_alloc(PAGE_SIZE, PAGE_SIZE);
> +	vmms = (struct sysinfo_3_2_2 *) memblock_phys_alloc(PAGE_SIZE,
> +							    PAGE_SIZE);
>  	if (stsi(vmms, 3, 2, 2) == 0 && vmms->count)
>  		add_device_randomness(&vmms->vm, sizeof(vmms->vm[0]) * vmms->count);
>  	memblock_free((unsigned long) vmms, PAGE_SIZE);
> diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c
> index db55561..04638b0 100644
> --- a/arch/s390/mm/vmem.c
> +++ b/arch/s390/mm/vmem.c
> @@ -36,7 +36,7 @@ static void __ref *vmem_alloc_pages(unsigned int order)
>  
>  	if (slab_is_available())
>  		return (void *)__get_free_pages(GFP_KERNEL, order);
> -	return (void *) memblock_alloc(size, size);
> +	return (void *) memblock_phys_alloc(size, size);
>  }
>  
>  void *vmem_crst_alloc(unsigned long val)
> @@ -57,7 +57,7 @@ pte_t __ref *vmem_pte_alloc(void)
>  	if (slab_is_available())
>  		pte = (pte_t *) page_table_alloc(&init_mm);
>  	else
> -		pte = (pte_t *) memblock_alloc(size, size);
> +		pte = (pte_t *) memblock_phys_alloc(size, size);
>  	if (!pte)
>  		return NULL;
>  	memset64((u64 *)pte, _PAGE_INVALID, PTRS_PER_PTE);
> diff --git a/arch/s390/numa/numa.c b/arch/s390/numa/numa.c
> index 5bd3744..297f5d8 100644
> --- a/arch/s390/numa/numa.c
> +++ b/arch/s390/numa/numa.c
> @@ -64,7 +64,7 @@ static __init pg_data_t *alloc_node_data(void)
>  {
>  	pg_data_t *res;
>  
> -	res = (pg_data_t *) memblock_alloc(sizeof(pg_data_t), 8);
> +	res = (pg_data_t *) memblock_phys_alloc(sizeof(pg_data_t), 8);
>  	memset(res, 0, sizeof(pg_data_t));
>  	return res;
>  }
> diff --git a/arch/sparc/kernel/mdesc.c b/arch/sparc/kernel/mdesc.c
> index 39a2503..59131e7 100644
> --- a/arch/sparc/kernel/mdesc.c
> +++ b/arch/sparc/kernel/mdesc.c
> @@ -170,7 +170,7 @@ static struct mdesc_handle * __init mdesc_memblock_alloc(unsigned int mdesc_size
>  		       mdesc_size);
>  	alloc_size = PAGE_ALIGN(handle_size);
>  
> -	paddr = memblock_alloc(alloc_size, PAGE_SIZE);
> +	paddr = memblock_phys_alloc(alloc_size, PAGE_SIZE);
>  
>  	hp = NULL;
>  	if (paddr) {
> diff --git a/arch/sparc/kernel/prom_64.c b/arch/sparc/kernel/prom_64.c
> index baeaeed..c37955d 100644
> --- a/arch/sparc/kernel/prom_64.c
> +++ b/arch/sparc/kernel/prom_64.c
> @@ -34,7 +34,7 @@
>  
>  void * __init prom_early_alloc(unsigned long size)
>  {
> -	unsigned long paddr = memblock_alloc(size, SMP_CACHE_BYTES);
> +	unsigned long paddr = memblock_phys_alloc(size, SMP_CACHE_BYTES);
>  	void *ret;
>  
>  	if (!paddr) {
> diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c
> index f396048..578ec3d 100644
> --- a/arch/sparc/mm/init_64.c
> +++ b/arch/sparc/mm/init_64.c
> @@ -1092,7 +1092,8 @@ static void __init allocate_node_data(int nid)
>  #ifdef CONFIG_NEED_MULTIPLE_NODES
>  	unsigned long paddr;
>  
> -	paddr = memblock_alloc_try_nid(sizeof(struct pglist_data), SMP_CACHE_BYTES, nid);
> +	paddr = memblock_phys_alloc_try_nid(sizeof(struct pglist_data),
> +					    SMP_CACHE_BYTES, nid);
>  	if (!paddr) {
>  		prom_printf("Cannot allocate pglist_data for nid[%d]\n", nid);
>  		prom_halt();
> @@ -1266,8 +1267,8 @@ static int __init grab_mlgroups(struct mdesc_handle *md)
>  	if (!count)
>  		return -ENOENT;
>  
> -	paddr = memblock_alloc(count * sizeof(struct mdesc_mlgroup),
> -			  SMP_CACHE_BYTES);
> +	paddr = memblock_phys_alloc(count * sizeof(struct mdesc_mlgroup),
> +				    SMP_CACHE_BYTES);
>  	if (!paddr)
>  		return -ENOMEM;
>  
> @@ -1307,8 +1308,8 @@ static int __init grab_mblocks(struct mdesc_handle *md)
>  	if (!count)
>  		return -ENOENT;
>  
> -	paddr = memblock_alloc(count * sizeof(struct mdesc_mblock),
> -			  SMP_CACHE_BYTES);
> +	paddr = memblock_phys_alloc(count * sizeof(struct mdesc_mblock),
> +				    SMP_CACHE_BYTES);
>  	if (!paddr)
>  		return -ENOMEM;
>  
> diff --git a/arch/unicore32/mm/mmu.c b/arch/unicore32/mm/mmu.c
> index 0c94b7b..18b355a 100644
> --- a/arch/unicore32/mm/mmu.c
> +++ b/arch/unicore32/mm/mmu.c
> @@ -144,7 +144,7 @@ static void __init build_mem_type_table(void)
>  
>  static void __init *early_alloc(unsigned long sz)
>  {
> -	void *ptr = __va(memblock_alloc(sz, sz));
> +	void *ptr = __va(memblock_phys_alloc(sz, sz));
>  	memset(ptr, 0, sz);
>  	return ptr;
>  }
> diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c
> index fa15085..16e37d7 100644
> --- a/arch/x86/mm/numa.c
> +++ b/arch/x86/mm/numa.c
> @@ -196,7 +196,7 @@ static void __init alloc_node_data(int nid)
>  	 * Allocate node data.  Try node-local memory and then any node.
>  	 * Never allocate in DMA zone.
>  	 */
> -	nd_pa = memblock_alloc_nid(nd_size, SMP_CACHE_BYTES, nid);
> +	nd_pa = memblock_phys_alloc_nid(nd_size, SMP_CACHE_BYTES, nid);
>  	if (!nd_pa) {
>  		nd_pa = __memblock_alloc_base(nd_size, SMP_CACHE_BYTES,
>  					      MEMBLOCK_ALLOC_ACCESSIBLE);
> diff --git a/drivers/firmware/efi/memmap.c b/drivers/firmware/efi/memmap.c
> index 5fc7052..ef618bc 100644
> --- a/drivers/firmware/efi/memmap.c
> +++ b/drivers/firmware/efi/memmap.c
> @@ -15,7 +15,7 @@
>  
>  static phys_addr_t __init __efi_memmap_alloc_early(unsigned long size)
>  {
> -	return memblock_alloc(size, 0);
> +	return memblock_phys_alloc(size, 0);
>  }
>  
>  static phys_addr_t __init __efi_memmap_alloc_late(unsigned long size)
> diff --git a/include/linux/memblock.h b/include/linux/memblock.h
> index 3c96a16..ab5f11b 100644
> --- a/include/linux/memblock.h
> +++ b/include/linux/memblock.h
> @@ -317,10 +317,10 @@ static inline int memblock_get_region_node(const struct memblock_region *r)
>  }
>  #endif /* CONFIG_HAVE_MEMBLOCK_NODE_MAP */
>  
> -phys_addr_t memblock_alloc_nid(phys_addr_t size, phys_addr_t align, int nid);
> -phys_addr_t memblock_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid);
> +phys_addr_t memblock_phys_alloc_nid(phys_addr_t size, phys_addr_t align, int nid);
> +phys_addr_t memblock_phys_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid);
>  
> -phys_addr_t memblock_alloc(phys_addr_t size, phys_addr_t align);
> +phys_addr_t memblock_phys_alloc(phys_addr_t size, phys_addr_t align);
>  
>  /*
>   * Set the allocation direction to bottom-up or top-down.
> diff --git a/mm/memblock.c b/mm/memblock.c
> index 2a5940c..0ab9507 100644
> --- a/mm/memblock.c
> +++ b/mm/memblock.c
> @@ -1344,7 +1344,7 @@ phys_addr_t __init memblock_alloc_base_nid(phys_addr_t size,
>  	return memblock_alloc_range_nid(size, align, 0, max_addr, nid, flags);
>  }
>  
> -phys_addr_t __init memblock_alloc_nid(phys_addr_t size, phys_addr_t align, int nid)
> +phys_addr_t __init memblock_phys_alloc_nid(phys_addr_t size, phys_addr_t align, int nid)
>  {
>  	enum memblock_flags flags = choose_memblock_flags();
>  	phys_addr_t ret;
> @@ -1379,14 +1379,14 @@ phys_addr_t __init memblock_alloc_base(phys_addr_t size, phys_addr_t align, phys
>  	return alloc;
>  }
>  
> -phys_addr_t __init memblock_alloc(phys_addr_t size, phys_addr_t align)
> +phys_addr_t __init memblock_phys_alloc(phys_addr_t size, phys_addr_t align)
>  {
>  	return memblock_alloc_base(size, align, MEMBLOCK_ALLOC_ACCESSIBLE);
>  }
>  
> -phys_addr_t __init memblock_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid)
> +phys_addr_t __init memblock_phys_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid)
>  {
> -	phys_addr_t res = memblock_alloc_nid(size, align, nid);
> +	phys_addr_t res = memblock_phys_alloc_nid(size, align, nid);
>  
>  	if (res)
>  		return res;
> -- 
> 2.7.4
> 

-- 
Michal Hocko
SUSE Labs

WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org>
To: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Ingo Molnar <mingo@redhat.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Paul Burton <paul.burton@mips.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Tony Luck <tony.luck@intel.com>,
	linux-ia64@vger.kernel.org, linux-mips@linux-mips.org,
	linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 06/29] memblock: rename memblock_alloc{_nid,_try_nid} to memblock_phys_alloc*
Date: Thu, 06 Sep 2018 07:35:33 +0000	[thread overview]
Message-ID: <20180906073533.GP14951@dhcp22.suse.cz> (raw)
In-Reply-To: <1536163184-26356-7-git-send-email-rppt@linux.vnet.ibm.com>

On Wed 05-09-18 18:59:21, Mike Rapoport wrote:
> This will allow using memblock_alloc for memblock allocations returning
> virtual address.

The description confused me at first because it talks about a future
patch rather than this one.

Anyway unlike the other renaming patch I agree with this one. It makes
it explicit that the caller gets a physical address rather than a
virtual one. Just make it explicit in the changelog.

> The conversion is done using the following semantic patch:
> 
> @@
> expression e1, e2, e3;
> @@
> (
> - memblock_alloc(e1, e2)
> + memblock_phys_alloc(e1, e2)
> |
> - memblock_alloc_nid(e1, e2, e3)
> + memblock_phys_alloc_nid(e1, e2, e3)
> |
> - memblock_alloc_try_nid(e1, e2, e3)
> + memblock_phys_alloc_try_nid(e1, e2, e3)
> )
> 
> Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>

I do trust Coccinelle so I haven't double checked the resulting patch
but the change makes sense to me

Acked-by: Michal Hocko <mhocko@suse.com>

> ---
>  arch/arm/mm/mmu.c                     |  2 +-
>  arch/arm64/mm/mmu.c                   |  2 +-
>  arch/arm64/mm/numa.c                  |  2 +-
>  arch/c6x/mm/dma-coherent.c            |  4 ++--
>  arch/nds32/mm/init.c                  |  8 ++++----
>  arch/openrisc/mm/init.c               |  2 +-
>  arch/openrisc/mm/ioremap.c            |  2 +-
>  arch/powerpc/kernel/dt_cpu_ftrs.c     |  4 +---
>  arch/powerpc/kernel/paca.c            |  2 +-
>  arch/powerpc/kernel/prom.c            |  2 +-
>  arch/powerpc/kernel/setup-common.c    |  3 +--
>  arch/powerpc/kernel/setup_32.c        | 10 +++++-----
>  arch/powerpc/mm/numa.c                |  2 +-
>  arch/powerpc/mm/pgtable_32.c          |  2 +-
>  arch/powerpc/mm/ppc_mmu_32.c          |  2 +-
>  arch/powerpc/platforms/pasemi/iommu.c |  2 +-
>  arch/powerpc/platforms/powernv/opal.c |  2 +-
>  arch/powerpc/sysdev/dart_iommu.c      |  2 +-
>  arch/s390/kernel/crash_dump.c         |  2 +-
>  arch/s390/kernel/setup.c              |  3 ++-
>  arch/s390/mm/vmem.c                   |  4 ++--
>  arch/s390/numa/numa.c                 |  2 +-
>  arch/sparc/kernel/mdesc.c             |  2 +-
>  arch/sparc/kernel/prom_64.c           |  2 +-
>  arch/sparc/mm/init_64.c               | 11 ++++++-----
>  arch/unicore32/mm/mmu.c               |  2 +-
>  arch/x86/mm/numa.c                    |  2 +-
>  drivers/firmware/efi/memmap.c         |  2 +-
>  include/linux/memblock.h              |  6 +++---
>  mm/memblock.c                         |  8 ++++----
>  30 files changed, 50 insertions(+), 51 deletions(-)
> 
> diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
> index e46a6a4..f5cc1cc 100644
> --- a/arch/arm/mm/mmu.c
> +++ b/arch/arm/mm/mmu.c
> @@ -721,7 +721,7 @@ EXPORT_SYMBOL(phys_mem_access_prot);
>  
>  static void __init *early_alloc_aligned(unsigned long sz, unsigned long align)
>  {
> -	void *ptr = __va(memblock_alloc(sz, align));
> +	void *ptr = __va(memblock_phys_alloc(sz, align));
>  	memset(ptr, 0, sz);
>  	return ptr;
>  }
> diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
> index 65f8627..33558f4 100644
> --- a/arch/arm64/mm/mmu.c
> +++ b/arch/arm64/mm/mmu.c
> @@ -83,7 +83,7 @@ static phys_addr_t __init early_pgtable_alloc(void)
>  	phys_addr_t phys;
>  	void *ptr;
>  
> -	phys = memblock_alloc(PAGE_SIZE, PAGE_SIZE);
> +	phys = memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE);
>  
>  	/*
>  	 * The FIX_{PGD,PUD,PMD} slots may be in active use, but the FIX_PTE
> diff --git a/arch/arm64/mm/numa.c b/arch/arm64/mm/numa.c
> index 146c04c..e5aacd6 100644
> --- a/arch/arm64/mm/numa.c
> +++ b/arch/arm64/mm/numa.c
> @@ -237,7 +237,7 @@ static void __init setup_node_data(int nid, u64 start_pfn, u64 end_pfn)
>  	if (start_pfn >= end_pfn)
>  		pr_info("Initmem setup node %d [<memory-less node>]\n", nid);
>  
> -	nd_pa = memblock_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
> +	nd_pa = memblock_phys_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
>  	nd = __va(nd_pa);
>  
>  	/* report and initialize */
> diff --git a/arch/c6x/mm/dma-coherent.c b/arch/c6x/mm/dma-coherent.c
> index d0a8e0c..01305c7 100644
> --- a/arch/c6x/mm/dma-coherent.c
> +++ b/arch/c6x/mm/dma-coherent.c
> @@ -135,8 +135,8 @@ void __init coherent_mem_init(phys_addr_t start, u32 size)
>  	if (dma_size & (PAGE_SIZE - 1))
>  		++dma_pages;
>  
> -	bitmap_phys = memblock_alloc(BITS_TO_LONGS(dma_pages) * sizeof(long),
> -				     sizeof(long));
> +	bitmap_phys = memblock_phys_alloc(BITS_TO_LONGS(dma_pages) * sizeof(long),
> +					  sizeof(long));
>  
>  	dma_bitmap = phys_to_virt(bitmap_phys);
>  	memset(dma_bitmap, 0, dma_pages * PAGE_SIZE);
> diff --git a/arch/nds32/mm/init.c b/arch/nds32/mm/init.c
> index c713d2a..5af81b8 100644
> --- a/arch/nds32/mm/init.c
> +++ b/arch/nds32/mm/init.c
> @@ -81,7 +81,7 @@ static void __init map_ram(void)
>  		}
>  
>  		/* Alloc one page for holding PTE's... */
> -		pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +		pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  		memset(pte, 0, PAGE_SIZE);
>  		set_pmd(pme, __pmd(__pa(pte) + _PAGE_KERNEL_TABLE));
>  
> @@ -114,7 +114,7 @@ static void __init fixedrange_init(void)
>  	pgd = swapper_pg_dir + pgd_index(vaddr);
>  	pud = pud_offset(pgd, vaddr);
>  	pmd = pmd_offset(pud, vaddr);
> -	fixmap_pmd_p = (pmd_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +	fixmap_pmd_p = (pmd_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  	memset(fixmap_pmd_p, 0, PAGE_SIZE);
>  	set_pmd(pmd, __pmd(__pa(fixmap_pmd_p) + _PAGE_KERNEL_TABLE));
>  
> @@ -127,7 +127,7 @@ static void __init fixedrange_init(void)
>  	pgd = swapper_pg_dir + pgd_index(vaddr);
>  	pud = pud_offset(pgd, vaddr);
>  	pmd = pmd_offset(pud, vaddr);
> -	pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +	pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  	memset(pte, 0, PAGE_SIZE);
>  	set_pmd(pmd, __pmd(__pa(pte) + _PAGE_KERNEL_TABLE));
>  	pkmap_page_table = pte;
> @@ -153,7 +153,7 @@ void __init paging_init(void)
>  	fixedrange_init();
>  
>  	/* allocate space for empty_zero_page */
> -	zero_page = __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +	zero_page = __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  	memset(zero_page, 0, PAGE_SIZE);
>  	zone_sizes_init();
>  
> diff --git a/arch/openrisc/mm/init.c b/arch/openrisc/mm/init.c
> index 6972d5d..b7670de 100644
> --- a/arch/openrisc/mm/init.c
> +++ b/arch/openrisc/mm/init.c
> @@ -106,7 +106,7 @@ static void __init map_ram(void)
>  			}
>  
>  			/* Alloc one page for holding PTE's... */
> -			pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +			pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  			set_pmd(pme, __pmd(_KERNPG_TABLE + __pa(pte)));
>  
>  			/* Fill the newly allocated page with PTE'S */
> diff --git a/arch/openrisc/mm/ioremap.c b/arch/openrisc/mm/ioremap.c
> index 2175e4b..c969752 100644
> --- a/arch/openrisc/mm/ioremap.c
> +++ b/arch/openrisc/mm/ioremap.c
> @@ -126,7 +126,7 @@ pte_t __ref *pte_alloc_one_kernel(struct mm_struct *mm,
>  	if (likely(mem_init_done)) {
>  		pte = (pte_t *) __get_free_page(GFP_KERNEL);
>  	} else {
> -		pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +		pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  	}
>  
>  	if (pte)
> diff --git a/arch/powerpc/kernel/dt_cpu_ftrs.c b/arch/powerpc/kernel/dt_cpu_ftrs.c
> index f432054..8be3721 100644
> --- a/arch/powerpc/kernel/dt_cpu_ftrs.c
> +++ b/arch/powerpc/kernel/dt_cpu_ftrs.c
> @@ -1008,9 +1008,7 @@ static int __init dt_cpu_ftrs_scan_callback(unsigned long node, const char
>  	/* Count and allocate space for cpu features */
>  	of_scan_flat_dt_subnodes(node, count_cpufeatures_subnodes,
>  						&nr_dt_cpu_features);
> -	dt_cpu_features = __va(
> -		memblock_alloc(sizeof(struct dt_cpu_feature)*
> -				nr_dt_cpu_features, PAGE_SIZE));
> +	dt_cpu_features = __va(memblock_phys_alloc(sizeof(struct dt_cpu_feature) * nr_dt_cpu_features, PAGE_SIZE));
>  
>  	cpufeatures_setup_start(isa);
>  
> diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c
> index 0ee3e6d..f331a00 100644
> --- a/arch/powerpc/kernel/paca.c
> +++ b/arch/powerpc/kernel/paca.c
> @@ -198,7 +198,7 @@ void __init allocate_paca_ptrs(void)
>  	paca_nr_cpu_ids = nr_cpu_ids;
>  
>  	paca_ptrs_size = sizeof(struct paca_struct *) * nr_cpu_ids;
> -	paca_ptrs = __va(memblock_alloc(paca_ptrs_size, 0));
> +	paca_ptrs = __va(memblock_phys_alloc(paca_ptrs_size, 0));
>  	memset(paca_ptrs, 0x88, paca_ptrs_size);
>  }
>  
> diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
> index c4d7078..fe758ce 100644
> --- a/arch/powerpc/kernel/prom.c
> +++ b/arch/powerpc/kernel/prom.c
> @@ -126,7 +126,7 @@ static void __init move_device_tree(void)
>  	if ((memory_limit && (start + size) > PHYSICAL_START + memory_limit) ||
>  			overlaps_crashkernel(start, size) ||
>  			overlaps_initrd(start, size)) {
> -		p = __va(memblock_alloc(size, PAGE_SIZE));
> +		p = __va(memblock_phys_alloc(size, PAGE_SIZE));
>  		memcpy(p, initial_boot_params, size);
>  		initial_boot_params = p;
>  		DBG("Moved device tree to 0x%p\n", p);
> diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
> index 93fa0c9..710ff98 100644
> --- a/arch/powerpc/kernel/setup-common.c
> +++ b/arch/powerpc/kernel/setup-common.c
> @@ -459,8 +459,7 @@ void __init smp_setup_cpu_maps(void)
>  
>  	DBG("smp_setup_cpu_maps()\n");
>  
> -	cpu_to_phys_id = __va(memblock_alloc(nr_cpu_ids * sizeof(u32),
> -							__alignof__(u32)));
> +	cpu_to_phys_id = __va(memblock_phys_alloc(nr_cpu_ids * sizeof(u32), __alignof__(u32)));
>  	memset(cpu_to_phys_id, 0, nr_cpu_ids * sizeof(u32));
>  
>  	for_each_node_by_type(dn, "cpu") {
> diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c
> index 8c507be..8190960 100644
> --- a/arch/powerpc/kernel/setup_32.c
> +++ b/arch/powerpc/kernel/setup_32.c
> @@ -206,9 +206,9 @@ void __init irqstack_early_init(void)
>  	 * as the memblock is limited to lowmem by default */
>  	for_each_possible_cpu(i) {
>  		softirq_ctx[i] = (struct thread_info *)
> -			__va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
> +			__va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
>  		hardirq_ctx[i] = (struct thread_info *)
> -			__va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
> +			__va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
>  	}
>  }
>  
> @@ -227,12 +227,12 @@ void __init exc_lvl_early_init(void)
>  #endif
>  
>  		critirq_ctx[hw_cpu] = (struct thread_info *)
> -			__va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
> +			__va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
>  #ifdef CONFIG_BOOKE
>  		dbgirq_ctx[hw_cpu] = (struct thread_info *)
> -			__va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
> +			__va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
>  		mcheckirq_ctx[hw_cpu] = (struct thread_info *)
> -			__va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
> +			__va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
>  #endif
>  	}
>  }
> diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
> index 35ac542..5fc0587 100644
> --- a/arch/powerpc/mm/numa.c
> +++ b/arch/powerpc/mm/numa.c
> @@ -788,7 +788,7 @@ static void __init setup_node_data(int nid, u64 start_pfn, u64 end_pfn)
>  	void *nd;
>  	int tnid;
>  
> -	nd_pa = memblock_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
> +	nd_pa = memblock_phys_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
>  	nd = __va(nd_pa);
>  
>  	/* report and initialize */
> diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c
> index 120a49b..989a1c2 100644
> --- a/arch/powerpc/mm/pgtable_32.c
> +++ b/arch/powerpc/mm/pgtable_32.c
> @@ -50,7 +50,7 @@ __ref pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)
>  	if (slab_is_available()) {
>  		pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_ZERO);
>  	} else {
> -		pte = __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +		pte = __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  		if (pte)
>  			clear_page(pte);
>  	}
> diff --git a/arch/powerpc/mm/ppc_mmu_32.c b/arch/powerpc/mm/ppc_mmu_32.c
> index bea6c54..9ee0357 100644
> --- a/arch/powerpc/mm/ppc_mmu_32.c
> +++ b/arch/powerpc/mm/ppc_mmu_32.c
> @@ -224,7 +224,7 @@ void __init MMU_init_hw(void)
>  	 * Find some memory for the hash table.
>  	 */
>  	if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322);
> -	Hash = __va(memblock_alloc(Hash_size, Hash_size));
> +	Hash = __va(memblock_phys_alloc(Hash_size, Hash_size));
>  	memset(Hash, 0, Hash_size);
>  	_SDR1 = __pa(Hash) | SDR1_LOW_BITS;
>  
> diff --git a/arch/powerpc/platforms/pasemi/iommu.c b/arch/powerpc/platforms/pasemi/iommu.c
> index f06c83f..f297152 100644
> --- a/arch/powerpc/platforms/pasemi/iommu.c
> +++ b/arch/powerpc/platforms/pasemi/iommu.c
> @@ -213,7 +213,7 @@ static int __init iob_init(struct device_node *dn)
>  	pr_info("IOBMAP L2 allocated at: %p\n", iob_l2_base);
>  
>  	/* Allocate a spare page to map all invalid IOTLB pages. */
> -	tmp = memblock_alloc(IOBMAP_PAGE_SIZE, IOBMAP_PAGE_SIZE);
> +	tmp = memblock_phys_alloc(IOBMAP_PAGE_SIZE, IOBMAP_PAGE_SIZE);
>  	if (!tmp)
>  		panic("IOBMAP: Cannot allocate spare page!");
>  	/* Empty l1 is marked invalid */
> diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
> index 38fe408..9431921 100644
> --- a/arch/powerpc/platforms/powernv/opal.c
> +++ b/arch/powerpc/platforms/powernv/opal.c
> @@ -171,7 +171,7 @@ int __init early_init_dt_scan_recoverable_ranges(unsigned long node,
>  	/*
>  	 * Allocate a buffer to hold the MC recoverable ranges.
>  	 */
> -	mc_recoverable_range =__va(memblock_alloc(size, __alignof__(u64)));
> +	mc_recoverable_range =__va(memblock_phys_alloc(size, __alignof__(u64)));
>  	memset(mc_recoverable_range, 0, size);
>  
>  	for (i = 0; i < mc_recoverable_range_len; i++) {
> diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c
> index 5ca3e22..a5b40d1 100644
> --- a/arch/powerpc/sysdev/dart_iommu.c
> +++ b/arch/powerpc/sysdev/dart_iommu.c
> @@ -261,7 +261,7 @@ static void allocate_dart(void)
>  	 * that to work around what looks like a problem with the HT bridge
>  	 * prefetching into invalid pages and corrupting data
>  	 */
> -	tmp = memblock_alloc(DART_PAGE_SIZE, DART_PAGE_SIZE);
> +	tmp = memblock_phys_alloc(DART_PAGE_SIZE, DART_PAGE_SIZE);
>  	dart_emptyval = DARTMAP_VALID | ((tmp >> DART_PAGE_SHIFT) &
>  					 DARTMAP_RPNMASK);
>  
> diff --git a/arch/s390/kernel/crash_dump.c b/arch/s390/kernel/crash_dump.c
> index 376f6b6..d17566a 100644
> --- a/arch/s390/kernel/crash_dump.c
> +++ b/arch/s390/kernel/crash_dump.c
> @@ -61,7 +61,7 @@ struct save_area * __init save_area_alloc(bool is_boot_cpu)
>  {
>  	struct save_area *sa;
>  
> -	sa = (void *) memblock_alloc(sizeof(*sa), 8);
> +	sa = (void *) memblock_phys_alloc(sizeof(*sa), 8);
>  	if (is_boot_cpu)
>  		list_add(&sa->list, &dump_save_areas);
>  	else
> diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
> index c637c12..2f2ee43 100644
> --- a/arch/s390/kernel/setup.c
> +++ b/arch/s390/kernel/setup.c
> @@ -843,7 +843,8 @@ static void __init setup_randomness(void)
>  {
>  	struct sysinfo_3_2_2 *vmms;
>  
> -	vmms = (struct sysinfo_3_2_2 *) memblock_alloc(PAGE_SIZE, PAGE_SIZE);
> +	vmms = (struct sysinfo_3_2_2 *) memblock_phys_alloc(PAGE_SIZE,
> +							    PAGE_SIZE);
>  	if (stsi(vmms, 3, 2, 2) = 0 && vmms->count)
>  		add_device_randomness(&vmms->vm, sizeof(vmms->vm[0]) * vmms->count);
>  	memblock_free((unsigned long) vmms, PAGE_SIZE);
> diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c
> index db55561..04638b0 100644
> --- a/arch/s390/mm/vmem.c
> +++ b/arch/s390/mm/vmem.c
> @@ -36,7 +36,7 @@ static void __ref *vmem_alloc_pages(unsigned int order)
>  
>  	if (slab_is_available())
>  		return (void *)__get_free_pages(GFP_KERNEL, order);
> -	return (void *) memblock_alloc(size, size);
> +	return (void *) memblock_phys_alloc(size, size);
>  }
>  
>  void *vmem_crst_alloc(unsigned long val)
> @@ -57,7 +57,7 @@ pte_t __ref *vmem_pte_alloc(void)
>  	if (slab_is_available())
>  		pte = (pte_t *) page_table_alloc(&init_mm);
>  	else
> -		pte = (pte_t *) memblock_alloc(size, size);
> +		pte = (pte_t *) memblock_phys_alloc(size, size);
>  	if (!pte)
>  		return NULL;
>  	memset64((u64 *)pte, _PAGE_INVALID, PTRS_PER_PTE);
> diff --git a/arch/s390/numa/numa.c b/arch/s390/numa/numa.c
> index 5bd3744..297f5d8 100644
> --- a/arch/s390/numa/numa.c
> +++ b/arch/s390/numa/numa.c
> @@ -64,7 +64,7 @@ static __init pg_data_t *alloc_node_data(void)
>  {
>  	pg_data_t *res;
>  
> -	res = (pg_data_t *) memblock_alloc(sizeof(pg_data_t), 8);
> +	res = (pg_data_t *) memblock_phys_alloc(sizeof(pg_data_t), 8);
>  	memset(res, 0, sizeof(pg_data_t));
>  	return res;
>  }
> diff --git a/arch/sparc/kernel/mdesc.c b/arch/sparc/kernel/mdesc.c
> index 39a2503..59131e7 100644
> --- a/arch/sparc/kernel/mdesc.c
> +++ b/arch/sparc/kernel/mdesc.c
> @@ -170,7 +170,7 @@ static struct mdesc_handle * __init mdesc_memblock_alloc(unsigned int mdesc_size
>  		       mdesc_size);
>  	alloc_size = PAGE_ALIGN(handle_size);
>  
> -	paddr = memblock_alloc(alloc_size, PAGE_SIZE);
> +	paddr = memblock_phys_alloc(alloc_size, PAGE_SIZE);
>  
>  	hp = NULL;
>  	if (paddr) {
> diff --git a/arch/sparc/kernel/prom_64.c b/arch/sparc/kernel/prom_64.c
> index baeaeed..c37955d 100644
> --- a/arch/sparc/kernel/prom_64.c
> +++ b/arch/sparc/kernel/prom_64.c
> @@ -34,7 +34,7 @@
>  
>  void * __init prom_early_alloc(unsigned long size)
>  {
> -	unsigned long paddr = memblock_alloc(size, SMP_CACHE_BYTES);
> +	unsigned long paddr = memblock_phys_alloc(size, SMP_CACHE_BYTES);
>  	void *ret;
>  
>  	if (!paddr) {
> diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c
> index f396048..578ec3d 100644
> --- a/arch/sparc/mm/init_64.c
> +++ b/arch/sparc/mm/init_64.c
> @@ -1092,7 +1092,8 @@ static void __init allocate_node_data(int nid)
>  #ifdef CONFIG_NEED_MULTIPLE_NODES
>  	unsigned long paddr;
>  
> -	paddr = memblock_alloc_try_nid(sizeof(struct pglist_data), SMP_CACHE_BYTES, nid);
> +	paddr = memblock_phys_alloc_try_nid(sizeof(struct pglist_data),
> +					    SMP_CACHE_BYTES, nid);
>  	if (!paddr) {
>  		prom_printf("Cannot allocate pglist_data for nid[%d]\n", nid);
>  		prom_halt();
> @@ -1266,8 +1267,8 @@ static int __init grab_mlgroups(struct mdesc_handle *md)
>  	if (!count)
>  		return -ENOENT;
>  
> -	paddr = memblock_alloc(count * sizeof(struct mdesc_mlgroup),
> -			  SMP_CACHE_BYTES);
> +	paddr = memblock_phys_alloc(count * sizeof(struct mdesc_mlgroup),
> +				    SMP_CACHE_BYTES);
>  	if (!paddr)
>  		return -ENOMEM;
>  
> @@ -1307,8 +1308,8 @@ static int __init grab_mblocks(struct mdesc_handle *md)
>  	if (!count)
>  		return -ENOENT;
>  
> -	paddr = memblock_alloc(count * sizeof(struct mdesc_mblock),
> -			  SMP_CACHE_BYTES);
> +	paddr = memblock_phys_alloc(count * sizeof(struct mdesc_mblock),
> +				    SMP_CACHE_BYTES);
>  	if (!paddr)
>  		return -ENOMEM;
>  
> diff --git a/arch/unicore32/mm/mmu.c b/arch/unicore32/mm/mmu.c
> index 0c94b7b..18b355a 100644
> --- a/arch/unicore32/mm/mmu.c
> +++ b/arch/unicore32/mm/mmu.c
> @@ -144,7 +144,7 @@ static void __init build_mem_type_table(void)
>  
>  static void __init *early_alloc(unsigned long sz)
>  {
> -	void *ptr = __va(memblock_alloc(sz, sz));
> +	void *ptr = __va(memblock_phys_alloc(sz, sz));
>  	memset(ptr, 0, sz);
>  	return ptr;
>  }
> diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c
> index fa15085..16e37d7 100644
> --- a/arch/x86/mm/numa.c
> +++ b/arch/x86/mm/numa.c
> @@ -196,7 +196,7 @@ static void __init alloc_node_data(int nid)
>  	 * Allocate node data.  Try node-local memory and then any node.
>  	 * Never allocate in DMA zone.
>  	 */
> -	nd_pa = memblock_alloc_nid(nd_size, SMP_CACHE_BYTES, nid);
> +	nd_pa = memblock_phys_alloc_nid(nd_size, SMP_CACHE_BYTES, nid);
>  	if (!nd_pa) {
>  		nd_pa = __memblock_alloc_base(nd_size, SMP_CACHE_BYTES,
>  					      MEMBLOCK_ALLOC_ACCESSIBLE);
> diff --git a/drivers/firmware/efi/memmap.c b/drivers/firmware/efi/memmap.c
> index 5fc7052..ef618bc 100644
> --- a/drivers/firmware/efi/memmap.c
> +++ b/drivers/firmware/efi/memmap.c
> @@ -15,7 +15,7 @@
>  
>  static phys_addr_t __init __efi_memmap_alloc_early(unsigned long size)
>  {
> -	return memblock_alloc(size, 0);
> +	return memblock_phys_alloc(size, 0);
>  }
>  
>  static phys_addr_t __init __efi_memmap_alloc_late(unsigned long size)
> diff --git a/include/linux/memblock.h b/include/linux/memblock.h
> index 3c96a16..ab5f11b 100644
> --- a/include/linux/memblock.h
> +++ b/include/linux/memblock.h
> @@ -317,10 +317,10 @@ static inline int memblock_get_region_node(const struct memblock_region *r)
>  }
>  #endif /* CONFIG_HAVE_MEMBLOCK_NODE_MAP */
>  
> -phys_addr_t memblock_alloc_nid(phys_addr_t size, phys_addr_t align, int nid);
> -phys_addr_t memblock_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid);
> +phys_addr_t memblock_phys_alloc_nid(phys_addr_t size, phys_addr_t align, int nid);
> +phys_addr_t memblock_phys_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid);
>  
> -phys_addr_t memblock_alloc(phys_addr_t size, phys_addr_t align);
> +phys_addr_t memblock_phys_alloc(phys_addr_t size, phys_addr_t align);
>  
>  /*
>   * Set the allocation direction to bottom-up or top-down.
> diff --git a/mm/memblock.c b/mm/memblock.c
> index 2a5940c..0ab9507 100644
> --- a/mm/memblock.c
> +++ b/mm/memblock.c
> @@ -1344,7 +1344,7 @@ phys_addr_t __init memblock_alloc_base_nid(phys_addr_t size,
>  	return memblock_alloc_range_nid(size, align, 0, max_addr, nid, flags);
>  }
>  
> -phys_addr_t __init memblock_alloc_nid(phys_addr_t size, phys_addr_t align, int nid)
> +phys_addr_t __init memblock_phys_alloc_nid(phys_addr_t size, phys_addr_t align, int nid)
>  {
>  	enum memblock_flags flags = choose_memblock_flags();
>  	phys_addr_t ret;
> @@ -1379,14 +1379,14 @@ phys_addr_t __init memblock_alloc_base(phys_addr_t size, phys_addr_t align, phys
>  	return alloc;
>  }
>  
> -phys_addr_t __init memblock_alloc(phys_addr_t size, phys_addr_t align)
> +phys_addr_t __init memblock_phys_alloc(phys_addr_t size, phys_addr_t align)
>  {
>  	return memblock_alloc_base(size, align, MEMBLOCK_ALLOC_ACCESSIBLE);
>  }
>  
> -phys_addr_t __init memblock_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid)
> +phys_addr_t __init memblock_phys_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid)
>  {
> -	phys_addr_t res = memblock_alloc_nid(size, align, nid);
> +	phys_addr_t res = memblock_phys_alloc_nid(size, align, nid);
>  
>  	if (res)
>  		return res;
> -- 
> 2.7.4
> 

-- 
Michal Hocko
SUSE Labs

WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org>
To: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Ingo Molnar <mingo@redhat.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Paul Burton <paul.burton@mips.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Tony Luck <tony.luck@intel.com>,
	linux-ia64@vger.kernel.org, linux-mips@linux-mips.org,
	linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 06/29] memblock: rename memblock_alloc{_nid, _try_nid} to memblock_phys_alloc*
Date: Thu, 6 Sep 2018 09:35:33 +0200	[thread overview]
Message-ID: <20180906073533.GP14951@dhcp22.suse.cz> (raw)
In-Reply-To: <1536163184-26356-7-git-send-email-rppt@linux.vnet.ibm.com>

On Wed 05-09-18 18:59:21, Mike Rapoport wrote:
> This will allow using memblock_alloc for memblock allocations returning
> virtual address.

The description confused me at first because it talks about a future
patch rather than this one.

Anyway unlike the other renaming patch I agree with this one. It makes
it explicit that the caller gets a physical address rather than a
virtual one. Just make it explicit in the changelog.

> The conversion is done using the following semantic patch:
> 
> @@
> expression e1, e2, e3;
> @@
> (
> - memblock_alloc(e1, e2)
> + memblock_phys_alloc(e1, e2)
> |
> - memblock_alloc_nid(e1, e2, e3)
> + memblock_phys_alloc_nid(e1, e2, e3)
> |
> - memblock_alloc_try_nid(e1, e2, e3)
> + memblock_phys_alloc_try_nid(e1, e2, e3)
> )
> 
> Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>

I do trust Coccinelle so I haven't double checked the resulting patch
but the change makes sense to me

Acked-by: Michal Hocko <mhocko@suse.com>

> ---
>  arch/arm/mm/mmu.c                     |  2 +-
>  arch/arm64/mm/mmu.c                   |  2 +-
>  arch/arm64/mm/numa.c                  |  2 +-
>  arch/c6x/mm/dma-coherent.c            |  4 ++--
>  arch/nds32/mm/init.c                  |  8 ++++----
>  arch/openrisc/mm/init.c               |  2 +-
>  arch/openrisc/mm/ioremap.c            |  2 +-
>  arch/powerpc/kernel/dt_cpu_ftrs.c     |  4 +---
>  arch/powerpc/kernel/paca.c            |  2 +-
>  arch/powerpc/kernel/prom.c            |  2 +-
>  arch/powerpc/kernel/setup-common.c    |  3 +--
>  arch/powerpc/kernel/setup_32.c        | 10 +++++-----
>  arch/powerpc/mm/numa.c                |  2 +-
>  arch/powerpc/mm/pgtable_32.c          |  2 +-
>  arch/powerpc/mm/ppc_mmu_32.c          |  2 +-
>  arch/powerpc/platforms/pasemi/iommu.c |  2 +-
>  arch/powerpc/platforms/powernv/opal.c |  2 +-
>  arch/powerpc/sysdev/dart_iommu.c      |  2 +-
>  arch/s390/kernel/crash_dump.c         |  2 +-
>  arch/s390/kernel/setup.c              |  3 ++-
>  arch/s390/mm/vmem.c                   |  4 ++--
>  arch/s390/numa/numa.c                 |  2 +-
>  arch/sparc/kernel/mdesc.c             |  2 +-
>  arch/sparc/kernel/prom_64.c           |  2 +-
>  arch/sparc/mm/init_64.c               | 11 ++++++-----
>  arch/unicore32/mm/mmu.c               |  2 +-
>  arch/x86/mm/numa.c                    |  2 +-
>  drivers/firmware/efi/memmap.c         |  2 +-
>  include/linux/memblock.h              |  6 +++---
>  mm/memblock.c                         |  8 ++++----
>  30 files changed, 50 insertions(+), 51 deletions(-)
> 
> diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
> index e46a6a4..f5cc1cc 100644
> --- a/arch/arm/mm/mmu.c
> +++ b/arch/arm/mm/mmu.c
> @@ -721,7 +721,7 @@ EXPORT_SYMBOL(phys_mem_access_prot);
>  
>  static void __init *early_alloc_aligned(unsigned long sz, unsigned long align)
>  {
> -	void *ptr = __va(memblock_alloc(sz, align));
> +	void *ptr = __va(memblock_phys_alloc(sz, align));
>  	memset(ptr, 0, sz);
>  	return ptr;
>  }
> diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
> index 65f8627..33558f4 100644
> --- a/arch/arm64/mm/mmu.c
> +++ b/arch/arm64/mm/mmu.c
> @@ -83,7 +83,7 @@ static phys_addr_t __init early_pgtable_alloc(void)
>  	phys_addr_t phys;
>  	void *ptr;
>  
> -	phys = memblock_alloc(PAGE_SIZE, PAGE_SIZE);
> +	phys = memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE);
>  
>  	/*
>  	 * The FIX_{PGD,PUD,PMD} slots may be in active use, but the FIX_PTE
> diff --git a/arch/arm64/mm/numa.c b/arch/arm64/mm/numa.c
> index 146c04c..e5aacd6 100644
> --- a/arch/arm64/mm/numa.c
> +++ b/arch/arm64/mm/numa.c
> @@ -237,7 +237,7 @@ static void __init setup_node_data(int nid, u64 start_pfn, u64 end_pfn)
>  	if (start_pfn >= end_pfn)
>  		pr_info("Initmem setup node %d [<memory-less node>]\n", nid);
>  
> -	nd_pa = memblock_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
> +	nd_pa = memblock_phys_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
>  	nd = __va(nd_pa);
>  
>  	/* report and initialize */
> diff --git a/arch/c6x/mm/dma-coherent.c b/arch/c6x/mm/dma-coherent.c
> index d0a8e0c..01305c7 100644
> --- a/arch/c6x/mm/dma-coherent.c
> +++ b/arch/c6x/mm/dma-coherent.c
> @@ -135,8 +135,8 @@ void __init coherent_mem_init(phys_addr_t start, u32 size)
>  	if (dma_size & (PAGE_SIZE - 1))
>  		++dma_pages;
>  
> -	bitmap_phys = memblock_alloc(BITS_TO_LONGS(dma_pages) * sizeof(long),
> -				     sizeof(long));
> +	bitmap_phys = memblock_phys_alloc(BITS_TO_LONGS(dma_pages) * sizeof(long),
> +					  sizeof(long));
>  
>  	dma_bitmap = phys_to_virt(bitmap_phys);
>  	memset(dma_bitmap, 0, dma_pages * PAGE_SIZE);
> diff --git a/arch/nds32/mm/init.c b/arch/nds32/mm/init.c
> index c713d2a..5af81b8 100644
> --- a/arch/nds32/mm/init.c
> +++ b/arch/nds32/mm/init.c
> @@ -81,7 +81,7 @@ static void __init map_ram(void)
>  		}
>  
>  		/* Alloc one page for holding PTE's... */
> -		pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +		pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  		memset(pte, 0, PAGE_SIZE);
>  		set_pmd(pme, __pmd(__pa(pte) + _PAGE_KERNEL_TABLE));
>  
> @@ -114,7 +114,7 @@ static void __init fixedrange_init(void)
>  	pgd = swapper_pg_dir + pgd_index(vaddr);
>  	pud = pud_offset(pgd, vaddr);
>  	pmd = pmd_offset(pud, vaddr);
> -	fixmap_pmd_p = (pmd_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +	fixmap_pmd_p = (pmd_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  	memset(fixmap_pmd_p, 0, PAGE_SIZE);
>  	set_pmd(pmd, __pmd(__pa(fixmap_pmd_p) + _PAGE_KERNEL_TABLE));
>  
> @@ -127,7 +127,7 @@ static void __init fixedrange_init(void)
>  	pgd = swapper_pg_dir + pgd_index(vaddr);
>  	pud = pud_offset(pgd, vaddr);
>  	pmd = pmd_offset(pud, vaddr);
> -	pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +	pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  	memset(pte, 0, PAGE_SIZE);
>  	set_pmd(pmd, __pmd(__pa(pte) + _PAGE_KERNEL_TABLE));
>  	pkmap_page_table = pte;
> @@ -153,7 +153,7 @@ void __init paging_init(void)
>  	fixedrange_init();
>  
>  	/* allocate space for empty_zero_page */
> -	zero_page = __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +	zero_page = __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  	memset(zero_page, 0, PAGE_SIZE);
>  	zone_sizes_init();
>  
> diff --git a/arch/openrisc/mm/init.c b/arch/openrisc/mm/init.c
> index 6972d5d..b7670de 100644
> --- a/arch/openrisc/mm/init.c
> +++ b/arch/openrisc/mm/init.c
> @@ -106,7 +106,7 @@ static void __init map_ram(void)
>  			}
>  
>  			/* Alloc one page for holding PTE's... */
> -			pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +			pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  			set_pmd(pme, __pmd(_KERNPG_TABLE + __pa(pte)));
>  
>  			/* Fill the newly allocated page with PTE'S */
> diff --git a/arch/openrisc/mm/ioremap.c b/arch/openrisc/mm/ioremap.c
> index 2175e4b..c969752 100644
> --- a/arch/openrisc/mm/ioremap.c
> +++ b/arch/openrisc/mm/ioremap.c
> @@ -126,7 +126,7 @@ pte_t __ref *pte_alloc_one_kernel(struct mm_struct *mm,
>  	if (likely(mem_init_done)) {
>  		pte = (pte_t *) __get_free_page(GFP_KERNEL);
>  	} else {
> -		pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +		pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  	}
>  
>  	if (pte)
> diff --git a/arch/powerpc/kernel/dt_cpu_ftrs.c b/arch/powerpc/kernel/dt_cpu_ftrs.c
> index f432054..8be3721 100644
> --- a/arch/powerpc/kernel/dt_cpu_ftrs.c
> +++ b/arch/powerpc/kernel/dt_cpu_ftrs.c
> @@ -1008,9 +1008,7 @@ static int __init dt_cpu_ftrs_scan_callback(unsigned long node, const char
>  	/* Count and allocate space for cpu features */
>  	of_scan_flat_dt_subnodes(node, count_cpufeatures_subnodes,
>  						&nr_dt_cpu_features);
> -	dt_cpu_features = __va(
> -		memblock_alloc(sizeof(struct dt_cpu_feature)*
> -				nr_dt_cpu_features, PAGE_SIZE));
> +	dt_cpu_features = __va(memblock_phys_alloc(sizeof(struct dt_cpu_feature) * nr_dt_cpu_features, PAGE_SIZE));
>  
>  	cpufeatures_setup_start(isa);
>  
> diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c
> index 0ee3e6d..f331a00 100644
> --- a/arch/powerpc/kernel/paca.c
> +++ b/arch/powerpc/kernel/paca.c
> @@ -198,7 +198,7 @@ void __init allocate_paca_ptrs(void)
>  	paca_nr_cpu_ids = nr_cpu_ids;
>  
>  	paca_ptrs_size = sizeof(struct paca_struct *) * nr_cpu_ids;
> -	paca_ptrs = __va(memblock_alloc(paca_ptrs_size, 0));
> +	paca_ptrs = __va(memblock_phys_alloc(paca_ptrs_size, 0));
>  	memset(paca_ptrs, 0x88, paca_ptrs_size);
>  }
>  
> diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
> index c4d7078..fe758ce 100644
> --- a/arch/powerpc/kernel/prom.c
> +++ b/arch/powerpc/kernel/prom.c
> @@ -126,7 +126,7 @@ static void __init move_device_tree(void)
>  	if ((memory_limit && (start + size) > PHYSICAL_START + memory_limit) ||
>  			overlaps_crashkernel(start, size) ||
>  			overlaps_initrd(start, size)) {
> -		p = __va(memblock_alloc(size, PAGE_SIZE));
> +		p = __va(memblock_phys_alloc(size, PAGE_SIZE));
>  		memcpy(p, initial_boot_params, size);
>  		initial_boot_params = p;
>  		DBG("Moved device tree to 0x%p\n", p);
> diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
> index 93fa0c9..710ff98 100644
> --- a/arch/powerpc/kernel/setup-common.c
> +++ b/arch/powerpc/kernel/setup-common.c
> @@ -459,8 +459,7 @@ void __init smp_setup_cpu_maps(void)
>  
>  	DBG("smp_setup_cpu_maps()\n");
>  
> -	cpu_to_phys_id = __va(memblock_alloc(nr_cpu_ids * sizeof(u32),
> -							__alignof__(u32)));
> +	cpu_to_phys_id = __va(memblock_phys_alloc(nr_cpu_ids * sizeof(u32), __alignof__(u32)));
>  	memset(cpu_to_phys_id, 0, nr_cpu_ids * sizeof(u32));
>  
>  	for_each_node_by_type(dn, "cpu") {
> diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c
> index 8c507be..8190960 100644
> --- a/arch/powerpc/kernel/setup_32.c
> +++ b/arch/powerpc/kernel/setup_32.c
> @@ -206,9 +206,9 @@ void __init irqstack_early_init(void)
>  	 * as the memblock is limited to lowmem by default */
>  	for_each_possible_cpu(i) {
>  		softirq_ctx[i] = (struct thread_info *)
> -			__va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
> +			__va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
>  		hardirq_ctx[i] = (struct thread_info *)
> -			__va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
> +			__va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
>  	}
>  }
>  
> @@ -227,12 +227,12 @@ void __init exc_lvl_early_init(void)
>  #endif
>  
>  		critirq_ctx[hw_cpu] = (struct thread_info *)
> -			__va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
> +			__va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
>  #ifdef CONFIG_BOOKE
>  		dbgirq_ctx[hw_cpu] = (struct thread_info *)
> -			__va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
> +			__va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
>  		mcheckirq_ctx[hw_cpu] = (struct thread_info *)
> -			__va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
> +			__va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
>  #endif
>  	}
>  }
> diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
> index 35ac542..5fc0587 100644
> --- a/arch/powerpc/mm/numa.c
> +++ b/arch/powerpc/mm/numa.c
> @@ -788,7 +788,7 @@ static void __init setup_node_data(int nid, u64 start_pfn, u64 end_pfn)
>  	void *nd;
>  	int tnid;
>  
> -	nd_pa = memblock_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
> +	nd_pa = memblock_phys_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
>  	nd = __va(nd_pa);
>  
>  	/* report and initialize */
> diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c
> index 120a49b..989a1c2 100644
> --- a/arch/powerpc/mm/pgtable_32.c
> +++ b/arch/powerpc/mm/pgtable_32.c
> @@ -50,7 +50,7 @@ __ref pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)
>  	if (slab_is_available()) {
>  		pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_ZERO);
>  	} else {
> -		pte = __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE));
> +		pte = __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
>  		if (pte)
>  			clear_page(pte);
>  	}
> diff --git a/arch/powerpc/mm/ppc_mmu_32.c b/arch/powerpc/mm/ppc_mmu_32.c
> index bea6c54..9ee0357 100644
> --- a/arch/powerpc/mm/ppc_mmu_32.c
> +++ b/arch/powerpc/mm/ppc_mmu_32.c
> @@ -224,7 +224,7 @@ void __init MMU_init_hw(void)
>  	 * Find some memory for the hash table.
>  	 */
>  	if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322);
> -	Hash = __va(memblock_alloc(Hash_size, Hash_size));
> +	Hash = __va(memblock_phys_alloc(Hash_size, Hash_size));
>  	memset(Hash, 0, Hash_size);
>  	_SDR1 = __pa(Hash) | SDR1_LOW_BITS;
>  
> diff --git a/arch/powerpc/platforms/pasemi/iommu.c b/arch/powerpc/platforms/pasemi/iommu.c
> index f06c83f..f297152 100644
> --- a/arch/powerpc/platforms/pasemi/iommu.c
> +++ b/arch/powerpc/platforms/pasemi/iommu.c
> @@ -213,7 +213,7 @@ static int __init iob_init(struct device_node *dn)
>  	pr_info("IOBMAP L2 allocated at: %p\n", iob_l2_base);
>  
>  	/* Allocate a spare page to map all invalid IOTLB pages. */
> -	tmp = memblock_alloc(IOBMAP_PAGE_SIZE, IOBMAP_PAGE_SIZE);
> +	tmp = memblock_phys_alloc(IOBMAP_PAGE_SIZE, IOBMAP_PAGE_SIZE);
>  	if (!tmp)
>  		panic("IOBMAP: Cannot allocate spare page!");
>  	/* Empty l1 is marked invalid */
> diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
> index 38fe408..9431921 100644
> --- a/arch/powerpc/platforms/powernv/opal.c
> +++ b/arch/powerpc/platforms/powernv/opal.c
> @@ -171,7 +171,7 @@ int __init early_init_dt_scan_recoverable_ranges(unsigned long node,
>  	/*
>  	 * Allocate a buffer to hold the MC recoverable ranges.
>  	 */
> -	mc_recoverable_range =__va(memblock_alloc(size, __alignof__(u64)));
> +	mc_recoverable_range =__va(memblock_phys_alloc(size, __alignof__(u64)));
>  	memset(mc_recoverable_range, 0, size);
>  
>  	for (i = 0; i < mc_recoverable_range_len; i++) {
> diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c
> index 5ca3e22..a5b40d1 100644
> --- a/arch/powerpc/sysdev/dart_iommu.c
> +++ b/arch/powerpc/sysdev/dart_iommu.c
> @@ -261,7 +261,7 @@ static void allocate_dart(void)
>  	 * that to work around what looks like a problem with the HT bridge
>  	 * prefetching into invalid pages and corrupting data
>  	 */
> -	tmp = memblock_alloc(DART_PAGE_SIZE, DART_PAGE_SIZE);
> +	tmp = memblock_phys_alloc(DART_PAGE_SIZE, DART_PAGE_SIZE);
>  	dart_emptyval = DARTMAP_VALID | ((tmp >> DART_PAGE_SHIFT) &
>  					 DARTMAP_RPNMASK);
>  
> diff --git a/arch/s390/kernel/crash_dump.c b/arch/s390/kernel/crash_dump.c
> index 376f6b6..d17566a 100644
> --- a/arch/s390/kernel/crash_dump.c
> +++ b/arch/s390/kernel/crash_dump.c
> @@ -61,7 +61,7 @@ struct save_area * __init save_area_alloc(bool is_boot_cpu)
>  {
>  	struct save_area *sa;
>  
> -	sa = (void *) memblock_alloc(sizeof(*sa), 8);
> +	sa = (void *) memblock_phys_alloc(sizeof(*sa), 8);
>  	if (is_boot_cpu)
>  		list_add(&sa->list, &dump_save_areas);
>  	else
> diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
> index c637c12..2f2ee43 100644
> --- a/arch/s390/kernel/setup.c
> +++ b/arch/s390/kernel/setup.c
> @@ -843,7 +843,8 @@ static void __init setup_randomness(void)
>  {
>  	struct sysinfo_3_2_2 *vmms;
>  
> -	vmms = (struct sysinfo_3_2_2 *) memblock_alloc(PAGE_SIZE, PAGE_SIZE);
> +	vmms = (struct sysinfo_3_2_2 *) memblock_phys_alloc(PAGE_SIZE,
> +							    PAGE_SIZE);
>  	if (stsi(vmms, 3, 2, 2) == 0 && vmms->count)
>  		add_device_randomness(&vmms->vm, sizeof(vmms->vm[0]) * vmms->count);
>  	memblock_free((unsigned long) vmms, PAGE_SIZE);
> diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c
> index db55561..04638b0 100644
> --- a/arch/s390/mm/vmem.c
> +++ b/arch/s390/mm/vmem.c
> @@ -36,7 +36,7 @@ static void __ref *vmem_alloc_pages(unsigned int order)
>  
>  	if (slab_is_available())
>  		return (void *)__get_free_pages(GFP_KERNEL, order);
> -	return (void *) memblock_alloc(size, size);
> +	return (void *) memblock_phys_alloc(size, size);
>  }
>  
>  void *vmem_crst_alloc(unsigned long val)
> @@ -57,7 +57,7 @@ pte_t __ref *vmem_pte_alloc(void)
>  	if (slab_is_available())
>  		pte = (pte_t *) page_table_alloc(&init_mm);
>  	else
> -		pte = (pte_t *) memblock_alloc(size, size);
> +		pte = (pte_t *) memblock_phys_alloc(size, size);
>  	if (!pte)
>  		return NULL;
>  	memset64((u64 *)pte, _PAGE_INVALID, PTRS_PER_PTE);
> diff --git a/arch/s390/numa/numa.c b/arch/s390/numa/numa.c
> index 5bd3744..297f5d8 100644
> --- a/arch/s390/numa/numa.c
> +++ b/arch/s390/numa/numa.c
> @@ -64,7 +64,7 @@ static __init pg_data_t *alloc_node_data(void)
>  {
>  	pg_data_t *res;
>  
> -	res = (pg_data_t *) memblock_alloc(sizeof(pg_data_t), 8);
> +	res = (pg_data_t *) memblock_phys_alloc(sizeof(pg_data_t), 8);
>  	memset(res, 0, sizeof(pg_data_t));
>  	return res;
>  }
> diff --git a/arch/sparc/kernel/mdesc.c b/arch/sparc/kernel/mdesc.c
> index 39a2503..59131e7 100644
> --- a/arch/sparc/kernel/mdesc.c
> +++ b/arch/sparc/kernel/mdesc.c
> @@ -170,7 +170,7 @@ static struct mdesc_handle * __init mdesc_memblock_alloc(unsigned int mdesc_size
>  		       mdesc_size);
>  	alloc_size = PAGE_ALIGN(handle_size);
>  
> -	paddr = memblock_alloc(alloc_size, PAGE_SIZE);
> +	paddr = memblock_phys_alloc(alloc_size, PAGE_SIZE);
>  
>  	hp = NULL;
>  	if (paddr) {
> diff --git a/arch/sparc/kernel/prom_64.c b/arch/sparc/kernel/prom_64.c
> index baeaeed..c37955d 100644
> --- a/arch/sparc/kernel/prom_64.c
> +++ b/arch/sparc/kernel/prom_64.c
> @@ -34,7 +34,7 @@
>  
>  void * __init prom_early_alloc(unsigned long size)
>  {
> -	unsigned long paddr = memblock_alloc(size, SMP_CACHE_BYTES);
> +	unsigned long paddr = memblock_phys_alloc(size, SMP_CACHE_BYTES);
>  	void *ret;
>  
>  	if (!paddr) {
> diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c
> index f396048..578ec3d 100644
> --- a/arch/sparc/mm/init_64.c
> +++ b/arch/sparc/mm/init_64.c
> @@ -1092,7 +1092,8 @@ static void __init allocate_node_data(int nid)
>  #ifdef CONFIG_NEED_MULTIPLE_NODES
>  	unsigned long paddr;
>  
> -	paddr = memblock_alloc_try_nid(sizeof(struct pglist_data), SMP_CACHE_BYTES, nid);
> +	paddr = memblock_phys_alloc_try_nid(sizeof(struct pglist_data),
> +					    SMP_CACHE_BYTES, nid);
>  	if (!paddr) {
>  		prom_printf("Cannot allocate pglist_data for nid[%d]\n", nid);
>  		prom_halt();
> @@ -1266,8 +1267,8 @@ static int __init grab_mlgroups(struct mdesc_handle *md)
>  	if (!count)
>  		return -ENOENT;
>  
> -	paddr = memblock_alloc(count * sizeof(struct mdesc_mlgroup),
> -			  SMP_CACHE_BYTES);
> +	paddr = memblock_phys_alloc(count * sizeof(struct mdesc_mlgroup),
> +				    SMP_CACHE_BYTES);
>  	if (!paddr)
>  		return -ENOMEM;
>  
> @@ -1307,8 +1308,8 @@ static int __init grab_mblocks(struct mdesc_handle *md)
>  	if (!count)
>  		return -ENOENT;
>  
> -	paddr = memblock_alloc(count * sizeof(struct mdesc_mblock),
> -			  SMP_CACHE_BYTES);
> +	paddr = memblock_phys_alloc(count * sizeof(struct mdesc_mblock),
> +				    SMP_CACHE_BYTES);
>  	if (!paddr)
>  		return -ENOMEM;
>  
> diff --git a/arch/unicore32/mm/mmu.c b/arch/unicore32/mm/mmu.c
> index 0c94b7b..18b355a 100644
> --- a/arch/unicore32/mm/mmu.c
> +++ b/arch/unicore32/mm/mmu.c
> @@ -144,7 +144,7 @@ static void __init build_mem_type_table(void)
>  
>  static void __init *early_alloc(unsigned long sz)
>  {
> -	void *ptr = __va(memblock_alloc(sz, sz));
> +	void *ptr = __va(memblock_phys_alloc(sz, sz));
>  	memset(ptr, 0, sz);
>  	return ptr;
>  }
> diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c
> index fa15085..16e37d7 100644
> --- a/arch/x86/mm/numa.c
> +++ b/arch/x86/mm/numa.c
> @@ -196,7 +196,7 @@ static void __init alloc_node_data(int nid)
>  	 * Allocate node data.  Try node-local memory and then any node.
>  	 * Never allocate in DMA zone.
>  	 */
> -	nd_pa = memblock_alloc_nid(nd_size, SMP_CACHE_BYTES, nid);
> +	nd_pa = memblock_phys_alloc_nid(nd_size, SMP_CACHE_BYTES, nid);
>  	if (!nd_pa) {
>  		nd_pa = __memblock_alloc_base(nd_size, SMP_CACHE_BYTES,
>  					      MEMBLOCK_ALLOC_ACCESSIBLE);
> diff --git a/drivers/firmware/efi/memmap.c b/drivers/firmware/efi/memmap.c
> index 5fc7052..ef618bc 100644
> --- a/drivers/firmware/efi/memmap.c
> +++ b/drivers/firmware/efi/memmap.c
> @@ -15,7 +15,7 @@
>  
>  static phys_addr_t __init __efi_memmap_alloc_early(unsigned long size)
>  {
> -	return memblock_alloc(size, 0);
> +	return memblock_phys_alloc(size, 0);
>  }
>  
>  static phys_addr_t __init __efi_memmap_alloc_late(unsigned long size)
> diff --git a/include/linux/memblock.h b/include/linux/memblock.h
> index 3c96a16..ab5f11b 100644
> --- a/include/linux/memblock.h
> +++ b/include/linux/memblock.h
> @@ -317,10 +317,10 @@ static inline int memblock_get_region_node(const struct memblock_region *r)
>  }
>  #endif /* CONFIG_HAVE_MEMBLOCK_NODE_MAP */
>  
> -phys_addr_t memblock_alloc_nid(phys_addr_t size, phys_addr_t align, int nid);
> -phys_addr_t memblock_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid);
> +phys_addr_t memblock_phys_alloc_nid(phys_addr_t size, phys_addr_t align, int nid);
> +phys_addr_t memblock_phys_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid);
>  
> -phys_addr_t memblock_alloc(phys_addr_t size, phys_addr_t align);
> +phys_addr_t memblock_phys_alloc(phys_addr_t size, phys_addr_t align);
>  
>  /*
>   * Set the allocation direction to bottom-up or top-down.
> diff --git a/mm/memblock.c b/mm/memblock.c
> index 2a5940c..0ab9507 100644
> --- a/mm/memblock.c
> +++ b/mm/memblock.c
> @@ -1344,7 +1344,7 @@ phys_addr_t __init memblock_alloc_base_nid(phys_addr_t size,
>  	return memblock_alloc_range_nid(size, align, 0, max_addr, nid, flags);
>  }
>  
> -phys_addr_t __init memblock_alloc_nid(phys_addr_t size, phys_addr_t align, int nid)
> +phys_addr_t __init memblock_phys_alloc_nid(phys_addr_t size, phys_addr_t align, int nid)
>  {
>  	enum memblock_flags flags = choose_memblock_flags();
>  	phys_addr_t ret;
> @@ -1379,14 +1379,14 @@ phys_addr_t __init memblock_alloc_base(phys_addr_t size, phys_addr_t align, phys
>  	return alloc;
>  }
>  
> -phys_addr_t __init memblock_alloc(phys_addr_t size, phys_addr_t align)
> +phys_addr_t __init memblock_phys_alloc(phys_addr_t size, phys_addr_t align)
>  {
>  	return memblock_alloc_base(size, align, MEMBLOCK_ALLOC_ACCESSIBLE);
>  }
>  
> -phys_addr_t __init memblock_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid)
> +phys_addr_t __init memblock_phys_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid)
>  {
> -	phys_addr_t res = memblock_alloc_nid(size, align, nid);
> +	phys_addr_t res = memblock_phys_alloc_nid(size, align, nid);
>  
>  	if (res)
>  		return res;
> -- 
> 2.7.4
> 

-- 
Michal Hocko
SUSE Labs

  reply	other threads:[~2018-09-06  7:35 UTC|newest]

Thread overview: 167+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-05 15:59 [RFC PATCH 00/29] mm: remove bootmem allocator Mike Rapoport
2018-09-05 15:59 ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 01/29] mips: switch to NO_BOOTMEM Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 02/29] mm: remove CONFIG_NO_BOOTMEM Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 03/29] mm: remove CONFIG_HAVE_MEMBLOCK Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-19  9:04   ` Jonathan Cameron
2018-09-19  9:04     ` Jonathan Cameron
2018-09-19  9:04     ` Jonathan Cameron
2018-09-19 10:34     ` Mike Rapoport
2018-09-19 10:34       ` Mike Rapoport
2018-09-19 10:34       ` Mike Rapoport
2018-09-19 10:34       ` Mike Rapoport
2018-09-19 10:45       ` Jonathan Cameron
2018-09-19 10:45         ` Jonathan Cameron
2018-09-19 10:45         ` Jonathan Cameron
2018-09-19 10:55         ` Mike Rapoport
2018-09-19 10:55           ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 04/29] mm: remove bootmem allocator implementation Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  7:30   ` Michal Hocko
2018-09-06  7:30     ` Michal Hocko
2018-09-06  8:31     ` Michal Hocko
2018-09-06  8:31       ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 05/29] mm: nobootmem: remove dead code Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 06/29] memblock: rename memblock_alloc{_nid,_try_nid} to memblock_phys_alloc* Mike Rapoport
2018-09-05 15:59   ` [RFC PATCH 06/29] memblock: rename memblock_alloc{_nid, _try_nid} " Mike Rapoport
2018-09-05 15:59   ` [RFC PATCH 06/29] memblock: rename memblock_alloc{_nid,_try_nid} " Mike Rapoport
2018-09-06  7:35   ` Michal Hocko [this message]
2018-09-06  7:35     ` [RFC PATCH 06/29] memblock: rename memblock_alloc{_nid, _try_nid} " Michal Hocko
2018-09-06  7:35     ` [RFC PATCH 06/29] memblock: rename memblock_alloc{_nid,_try_nid} " Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 07/29] memblock: remove _virt from APIs returning virtual address Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-05 17:04   ` Rob Herring
2018-09-05 17:04     ` Rob Herring
2018-09-05 17:20     ` Mike Rapoport
2018-09-05 17:20       ` Mike Rapoport
2018-09-06  7:28       ` Michal Hocko
2018-09-06  7:28         ` Michal Hocko
2018-09-06 12:43         ` Mike Rapoport
2018-09-06 12:43           ` Mike Rapoport
2018-09-06 13:01           ` Michal Hocko
2018-09-06 13:01             ` Michal Hocko
2018-09-06 13:39             ` Mike Rapoport
2018-09-06 13:39               ` Mike Rapoport
2018-09-06 13:46               ` Michal Hocko
2018-09-06 13:46                 ` Michal Hocko
2018-09-07  8:42                 ` Mike Rapoport
2018-09-07  8:42                   ` Mike Rapoport
2018-09-07  8:47                   ` Michal Hocko
2018-09-07  8:47                     ` Michal Hocko
2018-09-07  9:19                     ` Mike Rapoport
2018-09-07  9:19                       ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 08/29] memblock: replace alloc_bootmem_align with memblock_alloc Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  7:39   ` Michal Hocko
2018-09-06  7:39     ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 09/29] memblock: replace alloc_bootmem_low with memblock_alloc_low Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  7:41   ` Michal Hocko
2018-09-06  7:41     ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 10/29] memblock: replace __alloc_bootmem_node_nopanic with memblock_alloc_try_nid_nopanic Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  7:49   ` Michal Hocko
2018-09-06  7:49     ` [RFC PATCH 10/29] memblock: replace __alloc_bootmem_node_nopanic with memblock_alloc_try_nid_nop Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 11/29] memblock: replace alloc_bootmem_pages_nopanic with memblock_alloc_nopanic Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  7:53   ` Michal Hocko
2018-09-06  7:53     ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 12/29] memblock: replace alloc_bootmem_low with memblock_alloc_low Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  7:55   ` Michal Hocko
2018-09-06  7:55     ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 13/29] memblock: replace __alloc_bootmem_nopanic with memblock_alloc_from_nopanic Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  7:57   ` Michal Hocko
2018-09-06  7:57     ` Michal Hocko
2018-09-06 12:44     ` Mike Rapoport
2018-09-06 12:44       ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 14/29] memblock: add align parameter to memblock_alloc_node() Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  8:06   ` Michal Hocko
2018-09-06  8:06     ` Michal Hocko
2018-09-06 12:49     ` Mike Rapoport
2018-09-06 12:49       ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 15/29] memblock: replace alloc_bootmem_pages_node with memblock_alloc_node Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  8:08   ` Michal Hocko
2018-09-06  8:08     ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 16/29] memblock: replace __alloc_bootmem_node with appropriate memblock_ API Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  8:38   ` Michal Hocko
2018-09-06  8:38     ` Michal Hocko
2018-09-06 12:50     ` Mike Rapoport
2018-09-06 12:50       ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 17/29] memblock: replace alloc_bootmem_node with memblock_alloc_node Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  8:41   ` Michal Hocko
2018-09-06  8:41     ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 18/29] memblock: replace alloc_bootmem_low_pages with memblock_alloc_low Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  8:43   ` Michal Hocko
2018-09-06  8:43     ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 19/29] memblock: replace alloc_bootmem_pages with memblock_alloc Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  8:44   ` Michal Hocko
2018-09-06  8:44     ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 20/29] memblock: replace __alloc_bootmem with memblock_alloc_from Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  8:52   ` Michal Hocko
2018-09-06  8:52     ` Michal Hocko
2018-09-06 12:58     ` Mike Rapoport
2018-09-06 12:58       ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 21/29] memblock: replace alloc_bootmem with memblock_alloc Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  8:55   ` Michal Hocko
2018-09-06  8:55     ` Michal Hocko
2018-09-06 13:14     ` Mike Rapoport
2018-09-06 13:14       ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 22/29] mm: nobootmem: remove bootmem allocation APIs Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  8:56   ` Michal Hocko
2018-09-06  8:56     ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 23/29] memblock: replace free_bootmem{_node} with memblock_free Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  8:57   ` Michal Hocko
2018-09-06  8:57     ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 24/29] memblock: replace free_bootmem_late with memblock_free_late Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  9:02   ` Michal Hocko
2018-09-06  9:02     ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 25/29] memblock: rename free_all_bootmem to memblock_free_all Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  9:04   ` Michal Hocko
2018-09-06  9:04     ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 26/29] memblock: rename __free_pages_bootmem to memblock_free_pages Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  9:06   ` Michal Hocko
2018-09-06  9:06     ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 27/29] mm: remove nobootmem Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  9:08   ` Michal Hocko
2018-09-06  9:08     ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 28/29] memblock: replace BOOTMEM_ALLOC_* with MEMBLOCK variants Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  9:08   ` Michal Hocko
2018-09-06  9:08     ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 29/29] mm: remove include/linux/bootmem.h Mike Rapoport
2018-09-05 15:59   ` Mike Rapoport
2018-09-06  2:33 ` [RFC PATCH 00/29] mm: remove bootmem allocator Greentime Hu
2018-09-06  2:33   ` Greentime Hu
2018-09-06  2:33   ` Greentime Hu
2018-09-06 13:30   ` Mike Rapoport
2018-09-06 13:30     ` Mike Rapoport
2018-09-06 13:30     ` Mike Rapoport
2018-09-06  9:15 ` Michal Hocko
2018-09-06  9:15   ` Michal Hocko
2018-09-06 13:04   ` Pasha Tatashin
2018-09-06 13:04     ` Pasha Tatashin
2018-09-06 13:04     ` Pasha Tatashin
2018-09-06 13:21     ` Mike Rapoport
2018-09-06 13:21       ` Mike Rapoport
2018-09-06 13:16   ` Mike Rapoport
2018-09-06 13:16     ` Mike Rapoport

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180906073533.GP14951@dhcp22.suse.cz \
    --to=mhocko@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=paul.burton@mips.com \
    --cc=rppt@linux.vnet.ibm.com \
    --cc=sparclinux@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.