Re: [RFC PATCH 16/29] memblock: replace __alloc_bootmem_node with appropriate memblock_ API

From: Mike Rapoport
Date: Thu Sep 06 2018 - 08:50:58 EST


On Thu, Sep 06, 2018 at 10:38:41AM +0200, Michal Hocko wrote:
> On Wed 05-09-18 18:59:31, Mike Rapoport wrote:
> > Use memblock_alloc_try_nid whenever goal (i.e. mininal address is
> > specified) and memblock_alloc_node otherwise.
>
> I suspect you wanted to say (i.e. minimal address) is specified

Yep

> > Signed-off-by: Mike Rapoport <rppt@xxxxxxxxxxxxxxxxxx>
>
> Acked-by: Michal Hocko <mhocko@xxxxxxxx>
>
> One note below
>
> > ---
> > arch/ia64/mm/discontig.c | 6 ++++--
> > arch/ia64/mm/init.c | 2 +-
> > arch/powerpc/kernel/setup_64.c | 6 ++++--
> > arch/sparc/kernel/setup_64.c | 10 ++++------
> > arch/sparc/kernel/smp_64.c | 4 ++--
> > 5 files changed, 15 insertions(+), 13 deletions(-)
> >
> > diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c
> > index 1928d57..918dda9 100644
> > --- a/arch/ia64/mm/discontig.c
> > +++ b/arch/ia64/mm/discontig.c
> > @@ -451,8 +451,10 @@ static void __init *memory_less_node_alloc(int nid, unsigned long pernodesize)
> > if (bestnode == -1)
> > bestnode = anynode;
> >
> > - ptr = __alloc_bootmem_node(pgdat_list[bestnode], pernodesize,
> > - PERCPU_PAGE_SIZE, __pa(MAX_DMA_ADDRESS));
> > + ptr = memblock_alloc_try_nid(pernodesize, PERCPU_PAGE_SIZE,
> > + __pa(MAX_DMA_ADDRESS),
> > + BOOTMEM_ALLOC_ACCESSIBLE,
> > + bestnode);
> >
> > return ptr;
> > }
> > diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
> > index ffcc358..2169ca5 100644
> > --- a/arch/ia64/mm/init.c
> > +++ b/arch/ia64/mm/init.c
> > @@ -459,7 +459,7 @@ int __init create_mem_map_page_table(u64 start, u64 end, void *arg)
> > pte = pte_offset_kernel(pmd, address);
> >
> > if (pte_none(*pte))
> > - set_pte(pte, pfn_pte(__pa(memblock_alloc_node(PAGE_SIZE, PAGE_SIZE, node))) >> PAGE_SHIFT,
> > + set_pte(pte, pfn_pte(__pa(memblock_alloc_node(PAGE_SIZE, PAGE_SIZE, node)) >> PAGE_SHIFT,
> > PAGE_KERNEL));
>
> This doesn't seem to belong to the patch, right?

Right, will fix.

> > }
> > return 0;
> --
> Michal Hocko
> SUSE Labs
>

--
Sincerely yours,
Mike.