5–7 Oct 2026
Europe/Prague timezone

Amortizing CPU wakeup costs with lazy wakeups

6 Oct 2026, 18:10
20m
"Club A" (Prague Congress Centre)

"Club A"

Prague Congress Centre

53
Power Management and Thermal Control MC Power Management and Thermal Control MC

Speaker

Samuel Wu (Google)

Description

Transitioning a CPU into and out of idle has a non-negligible energy overhead. This "wakeup tax" is frequently triggered by background tasks with low utilization but a high number of wakeups. Furthermore, these tasks largely escape detection from existing energy-aware mechanisms like PELT and EAS, which are optimized for continuous execution rather than transient hardware states.

This talk explores a new scheduling heuristic: wakeup laziness. A live profile can be built for each task, aggregating stats such as: wakeups per unit time, idle exit/entry costs, and running time per wakeup. By evaluating these historical wakeup costs, the scheduler can classify tasks that are "efficient" (they justify the energy cost of waking the hardware) from those that are "inefficient" (they consume disproportionate energy with minimal execution time).

Instead of allowing inefficient tasks to wake a sleeping CPU, the scheduler enforces wakeup laziness- delaying their execution until an efficient or latency-critical task naturally wakes the hardware. This effectively amortizes the idle-exit cost across batched tasks.

Discussion points:

  • How can we classify “wakeup efficiency” of tasks?
  • How can we determine tasks that can be delayed without priority inversion or other performance concerns?
  • sched_ext can be a natural extension of on-device Wattson, a live power estimation tool, since they are both BPF based. However, can this feature be generalized to a kernel space scheduler?
  • Do we need to use energy (such as via on-device Wattson) or is using time as a proxy of energy sufficient for evaluating idle transition costs?

Author

Samuel Wu (Google)

Presentation materials

There are no materials yet.