On Thu, Oct 15, 2015 at 10:20 PM, Patrick Bellasi patrick.bellasi@arm.com wrote:
Somethig like a "pre-processing" of the list of OPP when EM tables are build to ensure that, for example, the topmost entry is alwasys the most energy-efficienct? This should ensure that entries are less and less energy-efficient as well as reduce lookup latencies on the scheduler critical paths.
that we really need to order them. We just need to ensure that at each moment, an enable OPP must be more power efficient that an OPP with higher freq.
That's a good strategy which however requires to update the current definition of the EM tables to support a concept of enabled/disabled entries. Maybe a flag per each capacity entry?
The OPP library (drivers/base/power/opp.c) has an API to enable/disable OPPs at runtime. Whether you want to depend on this library or just copy some ideas is upto you.
Regards, Amit