Getting Around to It: Deferred Work in the Linux Kernel
summary
Demonstrates concrete debugging and mitigation: libbpf stack-count traces do_softirq stacks, rtla (runtime latency analyzer) records softirq behavior, and new libbpf wq_lat measures workqueue latency; tasklets move to the workqueue API in 6.9, net RX softirq threads appear since 5.2, and RCU/new-callback-cpu isolates RCU callbacks. Maps surprising facts—10 softirq types, ~250 local_bottom_irq_disable call sites, a kworker stuck 207 seconds—and supplies runnable demos on GitHub to reproduce and tune affinity, niceness, and concurrency for real systems.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 1:07Deferred work meaning
- 2:14Deferred work in Linux
- 5:29Softirq problems
- 8:25Softirq mechanics
- 11:39Softirq execution delays
- 14:09BPF for softirq analysis
- 17:48Future softirq tools
- 18:11Adjusting softirq behavior and kernel threads
- 24:12Work queues intro
- 25:57Bound vs unbound queues
- 28:10Work queue surprises
- 30:36Managing work queues the right way
- 33:09Live work queue demo
- 37:04Recent work queue updates
- 38:54Softirqs vs work queues
- 40:21Softirq improvements
- 41:24Q&A
related talks
34mA Journey into Linux Interrupt Handling Bottom Halves
49mDebugging Methodologies for Realtime Issues in Linux Systems
01h 42mIRQs: the Hard, the Soft, the Threaded and the Preemptible
47mReal-Time Linux: What Is Next?
42mBoF: Realtime Linux
24mPREEMPT_RT Q&A with tglx
26mReal-time Linux: what is next?
50mInside the RT Patch
