Re: [PATCH] memblock: stop using implicit alignement to SMP_CACHE_BYTES

From: Mike Rapoport
Date: Thu Oct 11 2018 - 02:09:13 EST


On Fri, Oct 05, 2018 at 03:19:34PM -0700, Andrew Morton wrote:
> On Fri, 5 Oct 2018 00:07:04 +0300 Mike Rapoport <rppt@xxxxxxxxxxxxxxxxxx> wrote:
>
> > When a memblock allocation APIs are called with align = 0, the alignment is
> > implicitly set to SMP_CACHE_BYTES.
> >
> > Replace all such uses of memblock APIs with the 'align' parameter explicitly
> > set to SMP_CACHE_BYTES and stop implicit alignment assignment in the
> > memblock internal allocation functions.
> >
> > For the case when memblock APIs are used via helper functions, e.g. like
> > iommu_arena_new_node() in Alpha, the helper functions were detected with
> > Coccinelle's help and then manually examined and updated where appropriate.
> >
> > ...
> >
> > --- a/mm/memblock.c
> > +++ b/mm/memblock.c
> > @@ -1298,9 +1298,6 @@ static phys_addr_t __init memblock_alloc_range_nid(phys_addr_t size,
> > {
> > phys_addr_t found;
> >
> > - if (!align)
> > - align = SMP_CACHE_BYTES;
> > -
>
> Can we add a WARN_ON_ONCE(!align) here? To catch unconverted code
> which sneaks in later on.

Here it goes: