[Ksummit-discuss] [TECH(CORE?) TOPIC] Energy conservation bias interfaces

Rafael J. Wysocki rjw at rjwysocki.net
Tue May 6 12:54:03 UTC 2014


Hi All,

During a recent discussion on linux-pm/LKML regarding the integration of the
scheduler with cpuidle (http://marc.info/?t=139834240600003&r=1&w=4) it became
apparent that the kernel might benefit from adding interfaces to let it know
how far it should go with saving energy, possibly at the expense of performance.

First of all, it would be good to have a place where subsystems and device
drivers can go and check what the current "energy conservation bias" is in
case they need to make a decision between delivering more performance and
using less energy.  Second, it would be good to provide user space with
a means to tell the kernel whether it should care more about performance or
energy.  Finally, it would be good to be able to adjust the overall "energy
conservation bias" automatically in response to certain "power" events such
as "battery is low/critical" etc.

It doesn't seem to be clear currently what level and scope of such interfaces
is appropriate and where to place them.  Would a global knob be useful?  Or
should they be per-subsystem, per-driver, per-task, per-cgroup etc?

It also is not particularly clear what representation of "energy conservation
bias" would be most useful.  Should that be a number or a set of well-defined
discrete levels that can be given names (like "max performance", "high
prerformance", "balanced" etc.)?  If a number, then what units to use and
how many different values to take into account?

The people involved in the scheduler/cpuidle discussion mentioned above were:
 * Amit Kucheria
 * Ingo Molnar
 * Daniel Lezcano
 * Morten Rasmussen
 * Peter Zijlstra
and me, but I think that this topic may be interesting to others too (especially
to Len who proposed a global "enefgy conservation bias" interface a few years ago).

Please let me know what you think.

Kind regards,
Rafael



More information about the Ksummit-discuss mailing list