On 09/03/2023 10:11, Jiri Olsa wrote: > On Thu, Mar 09, 2023 at 09:16:53AM +0100, Jiri Olsa wrote: >> On Wed, Mar 08, 2023 at 10:53:51PM -0300, Arnaldo Carvalho de Melo wrote: >>> Em Mon, Feb 13, 2023 at 10:09:21PM -0800, Alexei Starovoitov escreveu: >>>> On Mon, Feb 13, 2023 at 7:12 PM Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: >>>>> On Thu, Feb 9, 2023 at 5:29 AM Alan Maguire <alan.maguire@xxxxxxxxxx> wrote: >>>>>> +++ b/scripts/pahole-flags.sh >>>>>> @@ -23,5 +23,8 @@ if [ "${pahole_ver}" -ge "124" ]; then >>>>>> # see PAHOLE_HAS_LANG_EXCLUDE >>>>>> extra_paholeopt="${extra_paholeopt} --lang_exclude=rust" >>>>>> fi >>>>>> +if [ "${pahole_ver}" -ge "125" ]; then >>>>>> + extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_inconsistent_proto --btf_gen_optimized" >>>>>> +fi >>>>> >>>>> We landed this too soon. >>>>> #229 tracing_struct:FAIL >>>>> is failing now. >>>>> since bpf_testmod.ko is missing a bunch of functions though they're global. >>>>> >>>>> I've tried a bunch of different flags and attributes, but none of them >>>>> helped. >>>>> The only thing that works is: >>>>> diff --git a/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c >>>>> b/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c >>>>> index 46500636d8cd..5fd0f75d5d20 100644 >>>>> --- a/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c >>>>> +++ b/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c >>>>> @@ -28,6 +28,7 @@ struct bpf_testmod_struct_arg_2 { >>>>> long b; >>>>> }; >>>>> >>>>> +__attribute__((optimize("-O0"))) >>>>> noinline int >>>>> bpf_testmod_test_struct_arg_1(struct bpf_testmod_struct_arg_2 a, int >>>>> b, int c) { >>>>> >>>>> We cannot do: >>>>> --- a/tools/testing/selftests/bpf/bpf_testmod/Makefile >>>>> +++ b/tools/testing/selftests/bpf/bpf_testmod/Makefile >>>>> @@ -10,7 +10,7 @@ endif >>>>> MODULES = bpf_testmod.ko >>>>> >>>>> obj-m += bpf_testmod.o >>>>> -CFLAGS_bpf_testmod.o = -I$(src) >>>>> +CFLAGS_bpf_testmod.o = -I$(src) -O0 >>>>> >>>>> The build fails due to asm stuff. >>>>> >>>>> Maybe we should make scripts/pahole-flags.sh selective >>>>> and don't apply skip_encoding_btf_inconsiste to bpf_testmod ? >>>>> >>>>> Thoughts? >>>> >>>> It's even worse with clang compiled kernel: >>> >>> I tested what is now in the master branch with both gcc and clang, on >>> fedora:37, Alan also tested it, Jiri, it would be great if you could >>> check if reverting the revert works for you as well. >> >> ok, will check your master branch > > looks good.. got no duplicates and passing bpf tests for both > gcc and clang setups > thanks for re-testing! I just did the same for latest bpf-next on x86_64/aarch64; all looks good. Alan