On Mon, Oct 14, 2013 at 02:48:09PM +0100, Peter Zijlstra wrote:
On Fri, Oct 11, 2013 at 06:19:13PM +0100, Morten Rasmussen wrote:
+static inline void inc_cpu_capacity(int cpu) +{
- if (weighted_cpuload(cpu) > power_of(cpu))
go_faster(cpu, 0);
+}
+static inline void dec_cpu_capacity(int cpu) +{
- if (weighted_cpuload(cpu) < power_of(cpu))
go_slower(cpu, 0);
+}
It seems wrong to me to use weighted_cpuload() here; that contains the task weight, which is irrelevant to power usage. I would expect a pure utilization term here.
Something like:
se->avg.runnable_avg_sum / se->avg.runnable_avg_period
Fully agree. There is no unweighted equivalent to cfs.runnable_load_avg but we could add it. It would be very useful for the power-aware scheduling. It will add some overhead though.
Morten