BoF: Object Life-Time Handling in Driver Subsystems
summary
Many driver subsystems crash when provider data goes away; gpio gets an SRCU-backed split responsibility solution where the subsystem allocates the reference‑counted device, protects the provider pointer with SRCU, and synchronizes on unregister so callers see NULL and return cleanly. Alternatives discussed are a handoff alloc model where drivers allocate then transfer ownership to the subsystem, and a read‑on config model where the subsystem deep‑copies probe data; device links and interrupt handling remain unresolved pain points.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 1:50Driver resource handling problems
- 3:17Logical vs physical devices
- 4:24GPIO crash fix
- 5:31Provider-consumer approaches
- 9:26Critique of provider structures
- 12:46Read-only config structures
- 14:12Device tree overlays impact
- 15:01Device links limitations
- 17:31Unbind scenarios discussion
- 20:04GPIO interrupt handling
- 21:55NFC flawed solution
- 23:40Power sequencing solution
- 25:47Why SRCU for GPIO
- 27:12Device tree removal fixes
- 29:41Provider driver API changes
- 31:32Removable hardware use case
- 33:19Device tree overlays dynamic
- 35:06Unified provider-consumer framework
- 37:13Module unloading safety
- 39:00Final remarks & Q&A
related talks
53mBack to Basics: Lifetime Management in Cpp
16mMemory Allocation Profiling upcoming features
35mBoosting Product Development With the Zephyr RTOS – a Critical Reflection
41mHow I Survived to a SoC with a Terrible Linux BSP
27mInsights on the Re-Architecting to a Single Codebase, Running on Different Hardware...
18mBoF: Automotive Grade Linux Developer Community
43mSponsored Session: Why Don't You Love Me Back, Open-source Software?
21mPortable BPF with CO:RE
