A Journey into Linux Interrupt Handling Bottom Halves
summary
Describes converting about 4,000 Linux tasklets into per-CPU bottom-half workqueues using workqueue_init_early, per-CPU worker pools (normal and high-priority BH), and a bridge pool_work structure; the key technique is raising a softirq with two lines of code so work executes in BH context. Shows a Hyper-V driver demo, notes ~25 supporting patches with merges in 6.9 and more planned for 6.10–6.11, and lists known issues: CPU-affinity/kick-pool races, CPU hotplug draining, and the need for broader performance testing.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 1:10Linux interrupt mechanisms
- 3:15Softirqs, tasklets, workqueues
- 6:13Tasklets: problems and end
- 9:02Workqueues: structure and function
- 12:16New workqueues
- 17:14APIs and code conversion
- 23:25Practical demo with Hyper-V
- 27:15Current state and next steps
- 29:51Future and community calls
- 32:20Q&A
related talks
44mGetting Around to It: Deferred Work in the Linux Kernel
01h 42mIRQs: the Hard, the Soft, the Threaded and the Preemptible
42mUnderstanding Linux Interrupt Subsystem
21mPreview: Operating Systems
24mPREEMPT_RT Q&A with tglx
49mDebugging Methodologies for Realtime Issues in Linux Systems
38mNews from PREEMPT_RT
36mJourney of improving RT performance on Single CPU equipped PREEMPT_RT Linux
