~/talk

Challenges with Kernels built with LTO

name:Song Liu
links:none on file
links:none on file
slides:none on file

Using CONFIG_LTO_CLANG_THIN in production increases inlining surprises (about 6,800 inline-but-still-present functions without LTO vs >8,000 with LTO) and makes ftrace miss events because functions are selectively inlined. LTO also breaks binary-diff live patching: object files are LLVM IR, cross-file inlining happens in the linker, and kpatch-build cannot diff reliably; dumping IR helps but causes massive symbol renames and hash-based churn (a simple one-line patch shows 26 → hundreds of changed symbols across files). Proposed mitigations include always-inline-or-never semantics, emitting a section for partially inlined functions, and using source-file‑based names instead of IR hashes for promoted symbols.

AI-written summary · about

  1. 0:00Introduction
  2. 0:20LTO impact on tracing
  3. 2:24Proposed inlining solutions
  4. 5:34Livepatch workflows
  5. 7:11LTO build challenges
  6. 9:40Compiler behavior analysis
  7. 14:20Proposed symbol solutions
  8. 19:26Q&A and conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.