Using Task Load Tracking to Improve Kernel Scheduler Load Balancing
summary
Kernel task load tracking from Linux 3.8 is used to calculate a recent runnable-weighted load per task and then drive two concrete scheduler patches: packing small tasks onto a few CPUs to minimize wake‑ups and enable power gating, and compute‑capacity driven placement for big.LITTLE systems. Patches (on LKML) add packing bodies and scheduling‑domain flags, are evaluated on an ARM big.LITTLE test chip and show ~36% less energy for MP3 playback and ~34% better consistency in benchmarks, while work remains on frequency scaling, cache footprint and interrupt placement.
AI-written summary · about
chapters (12)
- 0:00Intro
- 0:39COLLABORATION Task Load Tracking - Introduction
- 3:12COLLABORATION Agenda
- 4:50COLLABORATION Task Load Tracking - Maths 1
- 9:43COLLABORATION Task Load Tracking - load_avg_contrib
- 13:41COLLABORATION Saving Power: Packing Small Tasks
- 16:21COLLABORATION Packing Small Tasks implementation
- 23:27COLLABORATION Packing Small Tasks results
- 36:26COLLABORATION Saving Power: Heterogeneous MPS
- 40:48COLLABORATION Task Load Tracking - Task Profiles
- 54:31COLLABORATION Mixed cpu_power patch set results
- 56:17COLLABORATION Interaction with middleware
