11–13 Dec 2025
Asia/Tokyo timezone

Challenges with Kernels built with LTO

Not scheduled
20m
Toolchains MC Toolchains MC

Speakers

Song Liu (Meta) Yonghong Song

Description

We have been using CONFIG_LTO_CLANG_THIN in our production kernel for a few years. While delivering non-trivial performance improvements, kernels with CONFIG_LTO_CLANG_THIN enabled also bring challenges to our work:
LTO causes confusion for tracing users. With LTO, the compiler is more likely to do selective inlining, i.e., inline a kernel function at some call sites, but not some others. When such kernel functions are being traced, the user can easily miss a lot of events without realizing it.
LTO makes kernel live patching more difficult, especially with the kpatch-build toolchain. With LTO, individual object files are LLVM IR, kpatch-build cannot easily perform binary diff on these object files. LTO also makes it more challenging to verify the correctness of a live patch.
In this talk, we will share more information about these issues, and discuss with the community about potential ways to address these issues.

Primary authors

Presentation materials

There are no materials yet.