diff mbox series

[4/4] Revert "mm/page_alloc: make should_fail_alloc_page() static"

Message ID 20210713152100.10381-5-mgorman@techsingularity.net (mailing list archive)
State New
Headers show
Series 5.14-rc1 mm/page_alloc.c stray patches | expand

Commit Message

Mel Gorman July 13, 2021, 3:21 p.m. UTC
From: Matteo Croce <mcroce@microsoft.com>

This reverts commit f7173090033c70886d925995e9dfdfb76dbb2441.

Fix an unresolved symbol error when CONFIG_DEBUG_INFO_BTF=y:

  LD      vmlinux
  BTFIDS  vmlinux
FAILED unresolved symbol should_fail_alloc_page
make: *** [Makefile:1199: vmlinux] Error 255
make: *** Deleting file 'vmlinux'

Fixes: f7173090033c ("mm/page_alloc: make should_fail_alloc_page() static")
Signed-off-by: Matteo Croce <mcroce@microsoft.com>
Acked-by: Mel Gorman <mgorman@techsingularity.net>
Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
Link: https://lore.kernel.org/r/20210708191128.153796-1-mcroce@linux.microsoft.com
---
 mm/page_alloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

John Hubbard July 14, 2021, 7:06 a.m. UTC | #1
On 7/13/21 8:21 AM, Mel Gorman wrote:
> From: Matteo Croce <mcroce@microsoft.com>
> 
> This reverts commit f7173090033c70886d925995e9dfdfb76dbb2441.
> 
> Fix an unresolved symbol error when CONFIG_DEBUG_INFO_BTF=y:
> 
>    LD      vmlinux
>    BTFIDS  vmlinux
> FAILED unresolved symbol should_fail_alloc_page
> make: *** [Makefile:1199: vmlinux] Error 255
> make: *** Deleting file 'vmlinux'

Yes! I ran into this yesterday. Your patch fixes this build failure
for me, so feel free to add:

Tested-by: John Hubbard <jhubbard@nvidia.com>


However, I should add that I'm still seeing another build failure, after
fixing the above:

LD      vmlinux
BTFIDS  vmlinux
FAILED elf_update(WRITE): no error
make: *** [Makefile:1176: vmlinux] Error 255
make: *** Deleting file 'vmlinux'


...and un-setting CONFIG_DEBUG_INFO_BTF makes that disappear. Maybe someone
who is understands the BTFIDS build step can shed some light on that; I'm
not there yet. :)


thanks,
Jesper Dangaard Brouer July 15, 2021, 8:35 a.m. UTC | #2
Cc. Jiri Olsa + Arnaldo

On 14/07/2021 09.06, John Hubbard wrote:
> On 7/13/21 8:21 AM, Mel Gorman wrote:
>> From: Matteo Croce <mcroce@microsoft.com>
>>
>> This reverts commit f7173090033c70886d925995e9dfdfb76dbb2441.
>>
>> Fix an unresolved symbol error when CONFIG_DEBUG_INFO_BTF=y:
>>
>>    LD      vmlinux
>>    BTFIDS  vmlinux
>> FAILED unresolved symbol should_fail_alloc_page
>> make: *** [Makefile:1199: vmlinux] Error 255
>> make: *** Deleting file 'vmlinux'
> 
> Yes! I ran into this yesterday. Your patch fixes this build failure
> for me, so feel free to add:
> 
> Tested-by: John Hubbard <jhubbard@nvidia.com>
> 
> 
> However, I should add that I'm still seeing another build failure, after
> fixing the above:
> 
> LD      vmlinux
> BTFIDS  vmlinux
> FAILED elf_update(WRITE): no error

This elf_update(WRITE) error is new to me.

> make: *** [Makefile:1176: vmlinux] Error 255
> make: *** Deleting file 'vmlinux'

It is annoying that vmlinux is deleted in this case, because I usually 
give Jiri the output from 'resolve_btfids -v' on vmlinux.

  $ ./tools/bpf/resolve_btfids/resolve_btfids -v vmlinux.failed

You can do:
$ git diff
diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh
index 3b261b0f74f0..02dec10a7d75 100755
--- a/scripts/link-vmlinux.sh
+++ b/scripts/link-vmlinux.sh
@@ -302,7 +302,8 @@ cleanup()
         rm -f .tmp_symversions.lds
         rm -f .tmp_vmlinux*
         rm -f System.map
-       rm -f vmlinux
+       # rm -f vmlinux
+       mv vmlinux vmlinux.failed
         rm -f vmlinux.o
  }


> 
> 
> ...and un-setting CONFIG_DEBUG_INFO_BTF makes that disappear. Maybe someone
> who is understands the BTFIDS build step can shed some light on that; I'm
> not there yet. :)

I'm just a user/consume of output from the BTFIDS build step, I think 
Jiri Olsa own the tool resolve_btfids, and ACME pahole.  I've hit a 
number of issues in the past that Jiri and ACME help resolve quickly.
The most efficient solution I've found was to upgrade pahole to a newer 
version.

What version of pahole does your build system have?

What is your GCC version?

--Jesper
John Hubbard July 16, 2021, 12:04 a.m. UTC | #3
...
>> LD      vmlinux
>> BTFIDS  vmlinux
>> FAILED elf_update(WRITE): no error
> 
> This elf_update(WRITE) error is new to me.
> 
>> make: *** [Makefile:1176: vmlinux] Error 255
>> make: *** Deleting file 'vmlinux'
> 
> It is annoying that vmlinux is deleted in this case, because I usually give Jiri the output from 
> 'resolve_btfids -v' on vmlinux.
> 
>   $ ./tools/bpf/resolve_btfids/resolve_btfids -v vmlinux.failed
> 
> You can do:
> $ git diff
> diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh
> index 3b261b0f74f0..02dec10a7d75 100755
> --- a/scripts/link-vmlinux.sh
> +++ b/scripts/link-vmlinux.sh
> @@ -302,7 +302,8 @@ cleanup()
>          rm -f .tmp_symversions.lds
>          rm -f .tmp_vmlinux*
>          rm -f System.map
> -       rm -f vmlinux
> +       # rm -f vmlinux
> +       mv vmlinux vmlinux.failed
>          rm -f vmlinux.o
>   }
> 
> 
>>
>>
>> ...and un-setting CONFIG_DEBUG_INFO_BTF makes that disappear. Maybe someone
>> who is understands the BTFIDS build step can shed some light on that; I'm
>> not there yet. :)
> 
> I'm just a user/consume of output from the BTFIDS build step, I think Jiri Olsa own the tool 
> resolve_btfids, and ACME pahole.  I've hit a number of issues in the past that Jiri and ACME help 
> resolve quickly.
> The most efficient solution I've found was to upgrade pahole to a newer version.
> 
> What version of pahole does your build system have?
> 
> What is your GCC version?
> 

Just a quick answer first on the versions: this is an up to date Arch Linux system:

gcc: 11.1.0
pahole: 1.21

I'll try to get the other step done later this evening.

thanks,
John Hubbard July 16, 2021, 6:04 a.m. UTC | #4
On 7/15/21 5:04 PM, John Hubbard wrote:
...
>>> ...and un-setting CONFIG_DEBUG_INFO_BTF makes that disappear. Maybe someone
>>> who is understands the BTFIDS build step can shed some light on that; I'm
>>> not there yet. :)
>>
>> I'm just a user/consume of output from the BTFIDS build step, I think Jiri Olsa own the tool 
>> resolve_btfids, and ACME pahole.  I've hit a number of issues in the past that Jiri and ACME help 
>> resolve quickly.
>> The most efficient solution I've found was to upgrade pahole to a newer version.
>>
>> What version of pahole does your build system have?
>>
>> What is your GCC version?
>>
> 
> Just a quick answer first on the versions: this is an up to date Arch Linux system:
> 
> gcc: 11.1.0
> pahole: 1.21
> 
> I'll try to get the other step done later this evening.

...and...I've lost the repro completely. The only thing I changed was that I
attempted to update pahole. This caused Arch Linux reinstall pahole, claiming
that 1.21 is already the current version.

It acts as if there was something wrong with the pahole installation. This
seems unlikely, given that the system is merely on a routine update schedule.
However, that's the data I have.

If it ever comes up again I'll be able to run resolve_btfids, using your
steps here, so thanks for posting those!


thanks,
diff mbox series

Patch

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index c66f1e6204c2..3e97e68aef7a 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -3820,7 +3820,7 @@  static inline bool __should_fail_alloc_page(gfp_t gfp_mask, unsigned int order)
 
 #endif /* CONFIG_FAIL_PAGE_ALLOC */
 
-static noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order)
+noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order)
 {
 	return __should_fail_alloc_page(gfp_mask, order);
 }