BPF: Tracing and More
Brendan Gregg http://linux.conf.au/schedule/present... A world of new capabilities is emerging for the Linux 4.x series, thanks to enhancements that have been included in Linux for the Berkeley Packet Filter (BPF): an in-kernel virtual machine that can execute user space-defined programs. It is finding uses for security auditing and enforcement, enhancing networking (including eXpress Data Path), and performance observability and troubleshooting. Many new open source tools that have been written in the past 12 months for performance analysis that use BPF. Tracing superpowers have finally arrived for Linux! For its use with tracing, BPF provides the programmable capabilities to the existing t racing frameworks: kprobes, uprobes, and tracepoints. In particular, BPF allows timestamps to be recorded and compared from custom events, allowing latency to be studied in many new places: kernel and application internals. It also allows data to be efficiently summarized in-kernel, including as histograms. This has allowed dozens of new observability tools to be developed so far, including measuring latency distributions for file system I/O and run queue latency, printing details of storage device I/O and TCP retransmits, investigating blocked stack traces and memory leaks, and a whole lot more. This talk will summarize BPF capabilities and use cases so far, and then focus on its use to enhance Linux tracing, especially with the open source bcc collection. bcc includes BPF versions of old classics, and many new tools, including execsnoop, opensnoop, funcccount, ext4slower, and more (many of which I developed). Perhaps you'd like to develop new tools, or use the existing tools to find performance wins large and small, especially when instrumenting areas that previously had zero visibility. I'll also summarize how we intend to use these new capabilities to enhance systems analysis at Netflix.
![eBPF: Unlocking the Kernel [OFFICIAL DOCUMENTARY]](https://i.ytimg.com/vi/Wb_vD3XZYOA/hq720.jpg?sqp=-oaymwEbCNAFEJQDSFryq4qpAw0IARUAAIhCGAG4AvcY&rs=AOn4CLBrXWeNz5HzgPeMdYN16LE2y530cA&usqp=CCc)
eBPF: Unlocking the Kernel [OFFICIAL DOCUMENTARY]

The kernel report

Cilium: Network and Application Security with BPF and XDP

See what your computer is doing with Ftrace utilities

Steven Rostedt - Learning the Linux Kernel with tracing

Kernel Recipes 2017 - Perf in Netflix - Brendan Gregg

The Vulkan Graphics API - what it means for Linux

35C3 - Kernel Tracing With eBPF

Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025

Rewriting MMU for fun and profit

Andrej Karpathy: From Vibe Coding to Agentic Engineering w/ Stephanie Zhan

Tutorial: Getting Started with eBPF - Liz Rice, Isovalent

LISA14 - Linux Performance Analysis: New Tools and Old Secrets

SREcon16 - Performance Checklists for SREs

Cloud Performance Root Cause Analysis at Netflix • Brendan Gregg • YOW! 2018

eBPF Superpowers

Linux-Kernel Memory Ordering: Help Arrives At Last!

The Future of the Linux Page Cache

eBPF - Rethinking the Linux Kernel
![AWS re:Invent 2019: [REPEAT 1] BPF performance analysis at Netflix (OPN303-R1)](https://i.ytimg.com/vi/16slh29iN1g/hqdefault.jpg?sqp=-oaymwEnCNACELwBSFryq4qpAxkIARUAAAAAGAElAADIQj0AgKJDeAG4AvcY&rs=AOn4CLBeaX0_a8xMsJkYIyQ2LMiLR7MEVA&usqp=CCc)
