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

Andrew Morton
2018-10-05T22:19:34Z

On Fri, 5 Oct 2018 00:07:04 +0300 Mike Rapoport <rppt@linux.vnet.ibm.com> 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.