From: Maksim Panchenko <max4bolt@gmail.com>
To: Rong Xu <xur@google.com>, Han Shen <shenhan@google.com>,
Sriraman Tallam <tmsriram@google.com>,
David Li <davidxl@google.com>, Jonathan Corbet <corbet@lwn.net>,
Masahiro Yamada <masahiroy@kernel.org>,
Nathan Chancellor <nathan@kernel.org>,
Nicolas Schier <nicolas@fjasle.eu>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
Ard Biesheuvel <ardb@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
Josh Poimboeuf <jpoimboe@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Nick Desaulniers <ndesaulniers@google.com>,
Bill Wendling <morbo@google.com>,
Justin Stitt <justinstitt@google.com>,
Vegard Nossum <vegard.nossum@oracle.com>,
John Moon <john@jmoon.dev>,
Andrew Morton <akpm@linux-foundation.org>,
Heiko Carstens <hca@linux.ibm.com>,
Luis Chamberlain <mcgrof@kernel.org>,
Samuel Holland <samuel.holland@sifive.com>,
Mike Rapoport <rppt@kernel.org>,
"Paul E . McKenney" <paulmck@kernel.org>,
Rafael Aquini <aquini@redhat.com>,
Petr Pavlu <petr.pavlu@suse.com>,
Eric DeVolder <eric.devolder@oracle.com>,
Bjorn Helgaas <bhelgaas@google.com>,
Randy Dunlap <rdunlap@infradead.org>,
Benjamin Segall <bsegall@google.com>,
Breno Leitao <leitao@debian.org>,
Wei Yang <richard.weiyang@gmail.com>,
Brian Gerst <brgerst@gmail.com>, Juergen Gross <jgross@suse.com>,
Palmer Dabbelt <palmer@rivosinc.com>,
Alexandre Ghiti <alexghiti@rivosinc.com>,
Kees Cook <kees@kernel.org>,
Sami Tolvanen <samitolvanen@google.com>,
Xiao Wang <xiao.w.wang@intel.com>,
Jan Kiszka <jan.kiszka@siemens.com>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-kbuild@vger.kernel.org, linux-efi@vger.kernel.org,
linux-arch@vger.kernel.org, llvm@lists.linux.dev,
Krzysztof Pszeniczny <kpszeniczny@google.com>,
Stephane Eranian <eranian@google.com>
Subject: Re: [PATCH 6/6] Add Propeller configuration for kernel build.
Date: Thu, 19 Sep 2024 13:52:37 +0200 [thread overview]
Message-ID: <c65a07ef-6436-4e04-a263-7cad9758e9be@gmail.com> (raw)
In-Reply-To: <20240728203001.2551083-7-xur@google.com>
On Sun, Jul 28, 2024 at 01:29:56PM -0700, Rong Xu wrote:
> Add the build support for using Clang's Propeller optimizer. Like
> AutoFDO, Propeller uses hardware sampling to gather information
> about the frequency of execution of different code paths within a
> binary. This information is then used to guide the compiler's
> optimization decisions, resulting in a more efficient binary.
Thank you for submitting the patches with the latest compiler features.
Regarding Propeller, I want to quickly mention that I plan to send a
patch to include BOLT as a profile-based post-link optimizer for the
kernel. I'd like it to be considered an alternative that is selectable
at build time.
BOLT also uses sampling, and the profile can be collected on virtually
any kernel (with some caveats). There are no constraints on the
compiler (i.e., any version of GCC or Clang is acceptable), while Linux
perf is the only external dependency used for profile collection and
conversion. BOLT works on top of AutoFDO and LTO but can be used without
them if the user desires. The build overhead is a few seconds.
As you've heard from the LLVM discussion
(https://discourse.llvm.org/t/optimizing-the-linux-kernel-with-autofdo-including-thinlto-and-propeller)
and LPC talk (https://lpc.events/event/18/contributions/1921/), at Meta,
we've also successfully optimized the kernel and got similar results.
Again, this is a heads-up before the patch, and I would like to hear
what people think about having a binary optimizer as a user-selectable
alternative to Propeller.
Thanks,
Maksim
next prev parent reply other threads:[~2024-09-19 11:52 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-28 20:29 [PATCH 0/6] Add AutoFDO and Propeller support for Clang build Rong Xu
2024-07-28 20:29 ` [PATCH 1/6] Add AutoFDO " Rong Xu
2024-07-28 20:29 ` [PATCH 2/6] objtool: Fix unreachable instruction warnings for weak funcitons Rong Xu
2024-07-29 9:28 ` Peter Zijlstra
2024-07-28 20:29 ` [PATCH 3/6] Change the symbols order when --ffuntion-sections is enabled Rong Xu
2024-07-29 9:34 ` Peter Zijlstra
2024-07-29 20:55 ` Rong Xu
[not found] ` <CAF1bQ=Ta9MyoLhUjMTx479UWbHGK-cskbTTe_OudqeZRqV6w0Q@mail.gmail.com>
2024-07-30 8:40 ` Peter Zijlstra
2024-07-30 16:28 ` H. Peter Anvin
2024-07-28 20:29 ` [PATCH 4/6] AutoFDO: Enable -ffunction-sections for the AutoFDO build Rong Xu
2024-07-28 20:29 ` [PATCH 5/6] AutoFDO: Enable machine function split optimization for AutoFDO Rong Xu
2024-07-28 20:29 ` [PATCH 6/6] Add Propeller configuration for kernel build Rong Xu
2024-07-29 7:02 ` Arnd Bergmann
2024-07-29 7:35 ` Masahiro Yamada
2024-07-29 9:53 ` Peter Zijlstra
2024-07-29 19:04 ` Rong Xu
2024-09-19 11:52 ` Maksim Panchenko [this message]
2024-09-27 22:45 ` Nick Desaulniers
2024-09-28 17:35 ` Nathan Chancellor
[not found] ` <CAF1bQ=QoNNLVKRpaXyJ8pm+NcnSyzmpgAN5ktu=Fqim9HkF4rA@mail.gmail.com>
2024-09-30 20:29 ` Nathan Chancellor
2024-09-30 20:35 ` Rong Xu
2024-09-29 11:08 ` Masahiro Yamada
2024-09-30 22:49 ` Josh Poimboeuf
2024-07-29 8:50 ` [PATCH 0/6] Add AutoFDO and Propeller support for Clang build Peter Zijlstra
2024-07-29 20:52 ` Rong Xu
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=c65a07ef-6436-4e04-a263-7cad9758e9be@gmail.com \
--to=max4bolt@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=alexghiti@rivosinc.com \
--cc=aquini@redhat.com \
--cc=ardb@kernel.org \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=brgerst@gmail.com \
--cc=bsegall@google.com \
--cc=corbet@lwn.net \
--cc=dave.hansen@linux.intel.com \
--cc=davidxl@google.com \
--cc=eranian@google.com \
--cc=eric.devolder@oracle.com \
--cc=hca@linux.ibm.com \
--cc=hpa@zytor.com \
--cc=jan.kiszka@siemens.com \
--cc=jgross@suse.com \
--cc=john@jmoon.dev \
--cc=jpoimboe@kernel.org \
--cc=justinstitt@google.com \
--cc=kees@kernel.org \
--cc=kpszeniczny@google.com \
--cc=leitao@debian.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=masahiroy@kernel.org \
--cc=mcgrof@kernel.org \
--cc=mingo@redhat.com \
--cc=morbo@google.com \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=nicolas@fjasle.eu \
--cc=palmer@rivosinc.com \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=petr.pavlu@suse.com \
--cc=rdunlap@infradead.org \
--cc=richard.weiyang@gmail.com \
--cc=rppt@kernel.org \
--cc=samitolvanen@google.com \
--cc=samuel.holland@sifive.com \
--cc=shenhan@google.com \
--cc=tglx@linutronix.de \
--cc=tmsriram@google.com \
--cc=vegard.nossum@oracle.com \
--cc=x86@kernel.org \
--cc=xiao.w.wang@intel.com \
--cc=xur@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).