Understanding Linux Interrupt Subsystem
summary
Covers how Linux maps and handles hardware interrupts with concrete kernel pieces: irq_domain maps Linux IRQs to hardware IRQs, irq_desc embeds irq_data which links to irq_chip abstracts controller ops, and flow handlers (handle_simple_irq, handle_level_irq, per-CPU paths) call controller methods. Shows GIC examples (PPI/SPI/SGI), explains level vs edge and shared/spurious behavior, lists APIs used by drivers (request_irq, free_irq, enable/disable, local_irq_save) and procfs/sysfs ways to view and set affinity.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 1:21Interrupt basics
- 3:11Types of interrupts
- 5:59Interrupt triggers and GIC
- 8:56Interrupt controller role
- 11:05Generic interrupt framework
- 12:56IRQ domain structure
- 16:10IRQ mapping process
- 17:31IRQ descriptor structure
- 20:26IRQ chip structure
- 22:39Generic IRQ handling
- 28:31Recap of handling process
- 29:31Generic interrupt APIs
- 32:42Interrupt flags and example
- 35:34User space interfaces
- 37:12Debugging interrupts
- 41:26Conclusion
related talks
52mHow Dealing with Modern Interrupt Architectures can Affect Your Sanity
33m[x86] Linux Kernel Interrupt Delivery Configuration: How the Linux Kernel Interacts...
01h 42mIRQs: the Hard, the Soft, the Threaded and the Preemptible
34mA Journey into Linux Interrupt Handling Bottom Halves
19mAn Adaptive Interrupt Architecture for Extremely Timing-Critical Applications
44mGetting Around to It: Deferred Work in the Linux Kernel
30mLook Ma’, No (Real) Interrupt Controller!
37mIndustrial IO and You- Nonsense Hacks!
