Re: [PATCH v2] kbuild: rust: add AutoFDO support
From: Miguel Ojeda
Date: Fri Apr 03 2026 - 01:02:40 EST
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!
Cheers,
Miguel