On Thu, Sep 06, 2018 at 10:06:14AM +0200, Michal Hocko wrote: > On Wed 05-09-18 18:59:29, Mike Rapoport wrote: > > With the align parameter memblock_alloc_node() can be used as drop in > > replacement for alloc_bootmem_pages_node(). > > Why do we need an additional translation later? Sparse code which is the > only one to use it already uses memblock_alloc_try_nid elsewhere > (sparse_mem_map_populate).
It is also used in later patches to replace alloc_bootmem* in several places and most of them explicitly set the alignment. > > Signed-off-by: Mike Rapoport <r...@linux.vnet.ibm.com> > > --- > > include/linux/bootmem.h | 4 ++-- > > mm/sparse.c | 2 +- > > 2 files changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/include/linux/bootmem.h b/include/linux/bootmem.h > > index 7d91f0f..3896af2 100644 > > --- a/include/linux/bootmem.h > > +++ b/include/linux/bootmem.h > > @@ -157,9 +157,9 @@ static inline void * __init memblock_alloc_from_nopanic( > > } > > > > static inline void * __init memblock_alloc_node( > > - phys_addr_t size, int nid) > > + phys_addr_t size, phys_addr_t align, int nid) > > { > > - return memblock_alloc_try_nid(size, 0, BOOTMEM_LOW_LIMIT, > > + return memblock_alloc_try_nid(size, align, BOOTMEM_LOW_LIMIT, > > BOOTMEM_ALLOC_ACCESSIBLE, nid); > > } > > > > diff --git a/mm/sparse.c b/mm/sparse.c > > index 04e97af..509828f 100644 > > --- a/mm/sparse.c > > +++ b/mm/sparse.c > > @@ -68,7 +68,7 @@ static noinline struct mem_section __ref > > *sparse_index_alloc(int nid) > > if (slab_is_available()) > > section = kzalloc_node(array_size, GFP_KERNEL, nid); > > else > > - section = memblock_alloc_node(array_size, nid); > > + section = memblock_alloc_node(array_size, 0, nid); > > > > return section; > > } > > -- > > 2.7.4 > > > > -- > Michal Hocko > SUSE Labs > -- Sincerely yours, Mike.