Messages in this thread | | | From | Bill Wendling <> | Date | Sun, 17 Jan 2021 18:32:25 -0800 | Subject | Re: [PATCH v5] pgo: add clang's Profile Guided Optimization infrastructure |
| |
On Sun, Jan 17, 2021 at 4:27 PM Sedat Dilek <sedat.dilek@gmail.com> wrote: > > [ big snip ]
[More snippage.]
> [ CC Fangrui ] > > With the attached... > > [PATCH v3] module: Ignore _GLOBAL_OFFSET_TABLE_ when warning for > undefined symbols > > ...I was finally able to boot into a rebuild PGO-optimized Linux-kernel. > For details see ClangBuiltLinux issue #1250 "Unknown symbol > _GLOBAL_OFFSET_TABLE_ loading kernel modules". > Thanks for confirming that this works with the above patch.
> @ Bill Nick Sami Nathan > > 1, Can you say something of the impact passing "LLVM_IAS=1" to make?
The integrated assembler and this option are more-or-less orthogonal to each other. One can still use the GNU assembler with PGO. If you're having an issue, it may be related to ClangBuiltLinux issue #1250.
> 2. Can you please try Nick's DWARF v5 support patchset v5 and > CONFIG_DEBUG_INFO_DWARF5=y (see attachments)? > I know Nick did several tests with PGO. He may have looked into it already, but we can check.
> I would like to know what the impact of the Clang's Integrated > Assembler and DWARF v5 are. > > I dropped both means... > > 1. Do not pass "LLVM_IAS=1" to make. > 2. Use default DWARF v2 (with Nick's patchset: CONFIG_DEBUG_INFO_DWARF2=y). > > ...for a successfull build and boot on bare metal. >
[Next message]
> On each rebuild I need to pass to make ...? > > LLVM=1 -fprofile-use=vmlinux.profdata > Yes.
> Did you try together with passing LLVM_IAS=1 to make?
One of my tests was with the integrated assembler enabled. Are you finding issues with it?
The problem with using top-of-tree clang is that it's not necessarily stable. You could try using the clang 11.x release (changing the "CLANG_VERSION >= 120000" in kernel/pgo/Kconfig/ to "CLANG_VERSION >= 110000").
-bw
| |