Rethinking Android's Priority Inheritance
summary
Binder currently inherits CFS niceness inheritance, which feeds static nice values into CFS/EVDF and produces inconsistent scheduling behavior; an out‑of‑tree real‑time inheritance patch exists but is rejected because it also demotes tasks, enforces a surprising default priority and relies on a problematic minimum node priority policy. The workable path is to express the blocked‑on dependency to kernel PI (RT mutex/PI conv or libRTPI) and move node prioritization into user‑space thread pools.
AI-written summary · about
chapters (11)
- 0:00Introduction to Binder
- 2:27Priority inheritance basics
- 3:52CFS inheritance problems
- 7:12Real-time inheritance approach
- 8:16Out-of-tree patch issues
- 10:22Node priority conflicts
- 13:34Proxy execution challenges
- 15:18RT mutex and blocked relationships
- 18:07API design and alternatives
- 20:38LibRTPI and future goals
- 21:00Conclusion and Q&A
