bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Yonghong Song <yhs@fb.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>,
	Bill Wendling <morbo@google.com>, Jiri Olsa <jolsa@kernel.org>
Cc: dwarves@vger.kernel.org, "Alexei Starovoitov" <ast@kernel.org>,
	"Andrii Nakryiko" <andrii@kernel.org>, bpf <bpf@vger.kernel.org>,
	"David Blaikie" <dblaikie@gmail.com>,
	"Fāng-ruì Sòng" <maskray@google.com>,
	kernel-team@fb.com, "Nick Desaulniers" <ndesaulniers@google.com>
Subject: Re: [PATCH dwarves 0/2] dwarf_loader: improve cus__merging_cu()
Date: Tue, 6 Apr 2021 10:48:22 -0700	[thread overview]
Message-ID: <4eda63d8-f9df-71ab-d625-dcc4df429a89@fb.com> (raw)
In-Reply-To: <3a6aa243-add9-88a5-b405-85fd8bfbe21d@fb.com>



On 4/6/21 10:23 AM, Yonghong Song wrote:
> 
> 
> On 4/6/21 10:03 AM, Arnaldo Carvalho de Melo wrote:
>> Em Tue, Apr 06, 2021 at 01:59:30PM -0300, Arnaldo Carvalho de Melo 
>> escreveu:
>>> Em Tue, Apr 06, 2021 at 01:55:54PM -0300, Arnaldo Carvalho de Melo 
>>> escreveu:
>>>> Em Tue, Apr 06, 2021 at 01:40:20PM -0300, Arnaldo Carvalho de Melo 
>>>> escreveu:
>>>>> Em Tue, Apr 06, 2021 at 10:22:37AM -0300, Arnaldo Carvalho de Melo 
>>>>> escreveu:
>>>>>> I'm seeing these here:
>>>>
>>>>>> [acme@five bpf]$ rm -f ../build/bpf_clang_thin_lto/*vmlinu*
>>>>>> [acme@five bpf]$ time make -j28 LLVM=1 LLVM_IAS=1 
>>>>>> O=../build/bpf_clang_thin_lto/ vmlinux
>>>>>> make[1]: Entering directory '/home/acme/git/build/bpf_clang_thin_lto'
>>>>>>    GEN     Makefile
>>>>>>    DESCEND  objtool
>>>>>>    DESCEND  bpf/resolve_btfids
>>>>>>    CALL    /home/acme/git/bpf/scripts/atomic/check-atomics.sh
>>>>>>    CALL    /home/acme/git/bpf/scripts/checksyscalls.sh
>>>>>>    CHK     include/generated/compile.h
>>>>>>    GEN     .version
>>>>>>    CHK     include/generated/compile.h
>>>>>>    UPD     include/generated/compile.h
>>>>>>    CC      init/version.o
>>>>>>    AR      init/built-in.a
>>>>>>    GEN     .tmp_initcalls.lds
>>>>>>    LTO     vmlinux.o
>>>>>>    OBJTOOL vmlinux.o
>>>>>> vmlinux.o: warning: objtool: aesni_gcm_init_avx_gen2()+0x12: 
>>>>>> unsupported stack pointer realignment
>>>>>> vmlinux.o: warning: objtool: aesni_gcm_enc_update_avx_gen2()+0x12: 
>>>>>> unsupported stack pointer realignment
>>>>>> vmlinux.o: warning: objtool: aesni_gcm_dec_update_avx_gen2()+0x12: 
>>>>>> unsupported stack pointer realignment
>>>>>> vmlinux.o: warning: objtool: aesni_gcm_finalize_avx_gen2()+0x12: 
>>>>>> unsupported stack pointer realignment
>>>>>> vmlinux.o: warning: objtool: aesni_gcm_init_avx_gen4()+0x12: 
>>>>>> unsupported stack pointer realignment
>>>>>> vmlinux.o: warning: objtool: aesni_gcm_enc_update_avx_gen4()+0x12: 
>>>>>> unsupported stack pointer realignment
>>>>>> vmlinux.o: warning: objtool: aesni_gcm_dec_update_avx_gen4()+0x12: 
>>>>>> unsupported stack pointer realignment
>>>>>> vmlinux.o: warning: objtool: aesni_gcm_finalize_avx_gen4()+0x12: 
>>>>>> unsupported stack pointer realignment
>>>>>>    MODPOST vmlinux.symvers
>>>>>>    MODINFO modules.builtin.modinfo
>>>>>>    GEN     modules.builtin
>>>>>>    LD      .tmp_vmlinux.btf
>>>>>>    BTF     .btf.vmlinux.bin.o
>>>>>>    LD      .tmp_vmlinux.kallsyms1
>>>>>>    KSYMS   .tmp_vmlinux.kallsyms1.S
>>>>>>    AS      .tmp_vmlinux.kallsyms1.S
>>>>>>    LD      .tmp_vmlinux.kallsyms2
>>>>>>    KSYMS   .tmp_vmlinux.kallsyms2.S
>>>>>>    AS      .tmp_vmlinux.kallsyms2.S
>>>>>>    LD      vmlinux
>>>>>>    BTFIDS  vmlinux
>>>>>> WARN: multiple IDs found for 'inode': 232, 28822 - using 232
>>>>>> WARN: multiple IDs found for 'file': 374, 28855 - using 374
>>>>>> WARN: multiple IDs found for 'path': 379, 28856 - using 379
>>>>>> WARN: multiple IDs found for 'vm_area_struct': 177, 28929 - using 177
>>>>>> WARN: multiple IDs found for 'task_struct': 97, 28966 - using 97
>>>>>> WARN: multiple IDs found for 'seq_file': 510, 29059 - using 510
>>>>>> WARN: multiple IDs found for 'inode': 232, 29345 - using 232
>>>>>> WARN: multiple IDs found for 'file': 374, 29429 - using 374
>>>>>> WARN: multiple IDs found for 'path': 379, 29430 - using 379
>>>>>> WARN: multiple IDs found for 'vm_area_struct': 177, 29471 - using 177
>>>>>> WARN: multiple IDs found for 'task_struct': 97, 29481 - using 97
>>>>>> WARN: multiple IDs found for 'seq_file': 510, 29512 - using 510
>>>>>>    SORTTAB vmlinux
>>>>>>    SYSMAP  System.map
>>>>>> make[1]: Leaving directory '/home/acme/git/build/bpf_clang_thin_lto'
>>>>>>
>>>>>> [acme@five pahole]$ clang -v
>>>>>> clang version 11.0.0 (Fedora 11.0.0-2.fc33)
> 
> This could be due to the compiler. The clang 11 is used here. Sedat is
> using clang 12 and didn't see warnings and I am using clang dev branch 
> (clang 13) and didn't see warnings either. clang 11 could generate
> some debuginfo where pahole didn't handle it properly.
> 
> I tried to build locally with clang 11 but it crashed as I enabled
> assert during compiler build. Will try a little bit more.

Yes, I can see it with llvm11:

   LD      vmlinux 
 

   BTFIDS  vmlinux 
 

WARN: multiple IDs found for 'inode': 245, 36255 - using 245 
 

WARN: multiple IDs found for 'file': 390, 36288 - using 390 
 

WARN: multiple IDs found for 'path': 395, 36289 - using 395 
 

WARN: multiple IDs found for 'vm_area_struct': 190, 36362 - using 190 
 

WARN: multiple IDs found for 'task_struct': 93, 36399 - using 93 
 

WARN: multiple IDs found for 'seq_file': 524, 36498 - using 524 
 

WARN: multiple IDs found for 'inode': 245, 36784 - using 245 
 

WARN: multiple IDs found for 'file': 390, 36868 - using 390 
 

WARN: multiple IDs found for 'path': 395, 36869 - using 395 
 

WARN: multiple IDs found for 'vm_area_struct': 190, 36910 - using 190 
 

WARN: multiple IDs found for 'task_struct': 93, 36920 - using 93 
 

WARN: multiple IDs found for 'seq_file': 524, 36951 - using 524 
 

   SORTTAB vmlinux 
 

   SYSMAP  System.map 
 

   LTO [M] crypto/crypto_engine.lto.o 
 

   LTO [M] drivers/crypto/virtio/virtio_crypto.lto.o

$ clang --version
clang version 11.1.0 (https://github.com/llvm/llvm-project.git 
1fdec59bffc11ae37eb51a1b9869f0696bfd5312)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/yhs/work/llvm-project/llvm/build/install/bin

clang12 is okay:

   LTO     vmlinux.o
   OBJTOOL vmlinux.o
   MODPOST vmlinux.symvers
   MODINFO modules.builtin.modinfo
   GEN     modules.builtin
   LD      .tmp_vmlinux.btf
   BTF     .btf.vmlinux.bin.o
   LD      .tmp_vmlinux.kallsyms1
   KSYMS   .tmp_vmlinux.kallsyms1.S
   AS      .tmp_vmlinux.kallsyms1.S
   LD      .tmp_vmlinux.kallsyms2
   KSYMS   .tmp_vmlinux.kallsyms2.S

$ clang --version
clang version 12.0.0 (https://github.com/llvm/llvm-project.git 
31001be371e8f2c74470e727e54503fb2aabec8b)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/yhs/work/llvm-project/llvm/build/install/bin

I think we do not need to fix pahole for llvm11.
When linus tree 5.12 is out. clang 12 should have been released
or very close, we can just recommend clang 12 and later.

> 
>>>>>> Target: x86_64-unknown-linux-gnu
>>>>>> Thread model: posix
>>>>>> InstalledDir: /usr/bin
>>>>>> Found candidate GCC installation: 
>>>>>> /usr/bin/../lib/gcc/x86_64-redhat-linux/10
>>>>>> Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/10
>>>>>> Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/10
>>>>>> Candidate multilib: .;@m64
>>>>>> Candidate multilib: 32;@m32
>>>>>> Selected multilib: .;@m64
>>>>>> [acme@five pahole]$
>>>>>>
>>>>>> [acme@five bpf]$ git log --oneline -10
>>>>>> 49b9da70941c3c8a (HEAD -> bpf_perf_enable) kbuild: add an elfnote 
>>>>>> with type BUILD_COMPILER_LTO_INFO
>>>>>> 5c4f082a143c786e kbuild: move LINUX_ELFNOTE_BUILD_SALT to elfnote.h
>>>>>> 42c8b565decb3662 bpf: Introduce helpers to enable/disable perf 
>>>>>> event fds in a map
>>>>>> f73ea1eb4cce6637 (bpf-next/master, bpf-next/for-next) bpf: 
>>>>>> selftests: Specify CONFIG_DYNAMIC_FTRACE in the testing config
>>>>>> f07669df4c8df0b7 libbpf: Remove redundant semi-colon
>>>>>> 6ac4c6f887f5a8ef bpf: Remove repeated struct btf_type declaration
>>>>>> 2daae89666ad2532 bpf, cgroup: Delete repeated struct bpf_prog 
>>>>>> declaration
>>>>>> 2ec9898e9c70b93a bpf: Remove unused parameter from ___bpf_prog_run
>>>>>> 007bdc12d4b46656 bpf, selftests: test_maps generating unrecognized 
>>>>>> data section
>>>>>> 82506665179209e4 tcp: reorder tcp_congestion_ops for better cache 
>>>>>> locality
>>>>>> [acme@five bpf]$
>>>>>>
>>>>>> I'll try after a 'make mrproper'
>>>>>
>>>>> Same thing, trying now with gcc.
>>>>
[...]

  parent reply	other threads:[~2021-04-06 17:49 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-01  2:58 [PATCH dwarves 0/2] dwarf_loader: improve cus__merging_cu() Yonghong Song
2021-04-01  2:58 ` [PATCH dwarves 1/2] dwarf_loader: check .debug_abbrev for cross-cu references Yonghong Song
2021-04-01 18:52   ` Nick Desaulniers
2021-04-01 19:36     ` Arnaldo
2021-04-01 20:54       ` Yonghong Song
2021-04-01  2:58 ` [PATCH dwarves 2/2] dwarf_loader: check .notes section for lto build info Yonghong Song
2021-04-01 12:59 ` [PATCH dwarves 0/2] dwarf_loader: improve cus__merging_cu() Arnaldo Carvalho de Melo
2021-04-01 18:50 ` Nick Desaulniers
2021-04-01 19:35 ` Bill Wendling
2021-04-01 20:56   ` Bill Wendling
2021-04-01 21:59     ` Yonghong Song
2021-04-02 19:44       ` Bill Wendling
2021-04-06 13:22         ` Arnaldo Carvalho de Melo
2021-04-06 13:23           ` Arnaldo Carvalho de Melo
2021-04-06 16:40           ` Arnaldo Carvalho de Melo
2021-04-06 16:55             ` Arnaldo Carvalho de Melo
2021-04-06 16:59               ` Arnaldo Carvalho de Melo
2021-04-06 17:03                 ` Arnaldo Carvalho de Melo
2021-04-06 17:07                   ` Arnaldo Carvalho de Melo
2021-04-06 17:25                     ` Arnaldo Carvalho de Melo
2021-04-06 17:23                   ` Yonghong Song
2021-04-06 17:34                     ` Arnaldo Carvalho de Melo
2021-04-06 17:36                       ` Arnaldo Carvalho de Melo
2021-04-06 17:48                     ` Yonghong Song [this message]
2021-04-06 18:03                       ` Arnaldo Carvalho de Melo
2021-04-06 18:04                         ` Arnaldo Carvalho de Melo
2021-04-06 18:31                           ` Nick Desaulniers
2021-04-06 18:17                         ` David Blaikie
2021-04-06 18:20                           ` Arnaldo Carvalho de Melo
2021-04-06 18:22                           ` Fāng-ruì Sòng
2021-04-06 17:09     ` Jiri Olsa
2021-04-02 13:27   ` Arnaldo Carvalho de Melo
2021-04-02 14:34     ` Yonghong Song

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4eda63d8-f9df-71ab-d625-dcc4df429a89@fb.com \
    --to=yhs@fb.com \
    --cc=acme@kernel.org \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=dblaikie@gmail.com \
    --cc=dwarves@vger.kernel.org \
    --cc=jolsa@kernel.org \
    --cc=kernel-team@fb.com \
    --cc=maskray@google.com \
    --cc=morbo@google.com \
    --cc=ndesaulniers@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).