Re: [PATCH v2] kbuild: rust: add AutoFDO support

From: Nicolas Schier

Date: Tue Apr 07 2026 - 14:49:22 EST


On Tue, Apr 07, 2026 at 09:45:26AM -0700, Nathan Chancellor wrote:
> On Fri, Apr 03, 2026 at 07:02:15AM +0200, Miguel Ojeda wrote:
> > On Tue, Mar 31, 2026 at 12:58 PM Alice Ryhl <aliceryhl@xxxxxxxxxx> wrote:
> > >
> > > This patch enables AutoFDO build support for Rust code within the Linux
> > > kernel. This allows Rust code to be profiled and optimized based on the
> > > profile.
> > >
> > > The RUSTFLAGS variable was suffixed with *_AUTOFDO_CLANG to match the
> > > naming of the config option, which is called CONFIG_AUTOFDO_CLANG.
> > >
> > > This implementation has been verified in Android, first by inspecting
> > > the object files and confirming that they look correct. After that,
> > > it was verified as below:
> > >
> > > 1. Running the binderAddInts benchmark [1] with Rust Binder built as
> > > rust_binder.ko module, using a Pixel 9 Pro.
> > > 2. Collecting a profile on an Pixel 10 Pro XL using the app-launch
> > > benchmark, which starts different apps many times, on a device with
> > > Rust Binder as a built-in kernel module. (C Binder was not present on
> > > the device.)
> > > 3. Using the collected profile, run the binderAddInts benchmark again
> > > with Rust Binder built both as a rust_binder.ko module, and as a
> > > built-in kernel module.
> > > 4. In both cases, Rust Binder without AutoFDO was approximately 13%
> > > slower than the AutoFDO optimized version. Built-in vs .ko did not
> > > make a measurable performance difference.
> > >
> > > All of the above was verified in conjuction with my helpers inlining
> > > series [2], which confirmed that this worked correctly for helpers too
> > > once [3] was fixed in the helpers inlining series.
> > >
> > > Link: https://android.googlesource.com/platform/system/extras/+/920f089/tests/binder/benchmarks/binderAddInts.cpp [1]
> > > Link: https://lore.kernel.org/r/20260203-inline-helpers-v2-0-beb8547a03c9@xxxxxxxxxx [2]
> > > Link: https://lore.kernel.org/r/aasPsbMEsX6iGUl8@xxxxxxxxxx [3]
> > > Reviewed-by: Rong Xu <xur@xxxxxxxxxx>
> > > Reviewed-by: Gary Guo <gary@xxxxxxxxxxx>
> > > Tested-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>
> > > Signed-off-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>
> >
> > If Rong/Han or Kbuild want to pick this up, then:
> >
> > Acked-by: Miguel Ojeda <ojeda@xxxxxxxxxx>
> >
> > Otherwise, please let me know -- thanks!
>
> Unless Nicolas feels strongly otherwise, I think you can just take this
> via the Rust tree.
>
> Acked-by: Nathan Chancellor <nathan@xxxxxxxxxx>
>
> Cheers,
> Nathan

No objections from me either.

Acked-by: Nicolas Schier <nsc@xxxxxxxxxx>

Thanks!

--
Nicolas