Speakers
Description
The upstream Linux kernel explicitly excludes real-time (RT) tasks from the sched-ext extensible scheduler framework, restricting sched-ext BPF schedulers to only manage SCHED_NORMAL/SCHED_BATCH/SCHED_IDLE tasks. However, Android's production workloads present a fundamentally different reality: many performance-critical scenarios — including audio pipelines, camera capture, display composition, and game rendering — depend on tight co-scheduling of RT and non-RT tasks to meet latency and throughput targets simultaneously. Optimizing only the CFS portion of the scheduler in isolation leaves significant headroom on the table.
A concrete example is pipeline scheduling identifying related task chains and placing critical tasks onto specific pipeline CPUs to improve locality and predictability. The problem is that RT tasks remain outside sched-ext control — even when sched-ext builds and protects such a pipeline, an uncoordinated RT task can land on a pipeline CPU, break the intended task-to-core layout, and degrade performance. The same blind spot appears in load tracking, where per-CPU utilization and frequency selection must account for RT load that a BPF scheduler managing only fair-class
tasks cannot see.
This talk explores the gap between upstream's conservative stance and Android's practical needs — including why upstream currently draws this line — surveys the combined RT+sched-ext scheduling scenarios that matter most on Android, and discusses what vendor hook infrastructure is currently required from the Android Common Kernel (ACK) to bridge this gap safely and
maintainably in the short term. Beyond that immediate step, the session aims to align customers, Google, and Qualcomm, and to open a discussion with the upstream community on a possible long-term direction in mainline.