Subject: Re: linux-next build failure on arm64 with CMA but !NUMA

From: Roman Gushchin <[email-masked]>
Date: Wed, 18 Mar 2020 08:37:02 -0700

On Wed, Mar 18, 2020 at 12:41:09PM +0100, Guido Günther wrote:
> Hi Roman,
> 882d60d2ce725381236a158204d7ec13ff19ab25 in linux-next broke compilation
> on arm64 CMA && !NUMA like
> 
>   CC      kernel/irq/irqdesc.o
> mm/hugetlb.c: In function ‘hugetlb_cma_reserve’:
> mm/hugetlb.c:5449:3: error: implicit declaration of function ‘for_each_mem_pfn_range’; did you mean ‘for_each_mem_range’? [-Werror=implicit-function-declaration]
>    for_each_mem_pfn_range(i, nid, &start_pfn, &end_pfn, NULL) {
>    ^~~~~~~~~~~~~~~~~~~~~~ 
>    for_each_mem_range
> mm/hugetlb.c:5449:61: error: expected ‘;’ before ‘{’ token
>    for_each_mem_pfn_range(i, nid, &start_pfn, &end_pfn, NULL) {
>                                                              ^~
> Reverting that fixes the build for the moment. Would making all of this
> dependent on CMA && NUMA be the right fix?

Hello Guido!

Thank you for the report!

We've been discussing the issue for a couple of days, and I've proposed a fix.
I've just resent it to linux-mm@ (you're in cc), so hopefully it will be merged today.

Thanks!