~/talk

bpf tracing multi-link supporting

Talkat Linux Plumbers Conference 2025 · 2025-12-11..12-13
links:none on file
slides:none on file

Implements a global trampoline that uses an rhashtable to map target function addresses to metadata (BPF programs, cookie, arg count), letting one BPF program attach to many functions instead of cloning per-function instances. Built with rhashtable plus naked functions and C on x86_64, it cuts large-scale attach time from tens of minutes to under 1 second for 50k functions. Limits: no static args over six, no jump model, per-call hash lookup adds runtime overhead (bench shows ~25% hit in one case) and falls back to per-function trampolines when needed.

AI-written summary · about

  1. 0:00Introduction and overview
  2. 1:50BPF trampoline basics
  3. 3:43Limitations of current tracing
  4. 5:09Ftrace and trampoline attachment
  5. 8:40Single ftrace object optimization
  6. 9:03BPF multi-link concept
  7. 12:40Function metadata design
  8. 15:16Attachment during loading time
  9. 17:02BPF global link implementation
  10. 19:30Modifying trampoline updates
  11. 21:20Performance and issues
  12. 25:24Q&A discussion
~/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.