[PATCH v2 04/11] sched: Allow all archs to set the power_orig
From: dietmar.eggemann@arm.com (Dietmar Eggemann)
Date: 2014-06-05 08:59:24
Also in:
lkml
From: dietmar.eggemann@arm.com (Dietmar Eggemann)
Date: 2014-06-05 08:59:24
Also in:
lkml
[...]
quoted
Firstly, we need to scale cpu power in update_cpu_power() regarding uArch, frequency and rt/irq pressure. Here the freq related value we get back from arch_scale_freq_power(..., cpu) could be an instantaneous value (curr_freq(cpu)/max_freq(cpu)). Secondly, to be able to scale the runnable avg sum of a sched entity (se->avg->runnable_avg_sum), we preferable have a coefficient representing uArch diffs (cpu_power_orig(cpu)/cpu_power_orig(most powerful cpu in the system) and another coefficient (avg freq over 'nowAFAICT, the coefficient representing uArch diffs is already taken into account into power_freq thanks to scale_cpu, isn't it ?
True, but I can't see how the current signature of arch_scale_cpu_power() and arch_scale_freq_power() fit into this uArch and freq invariant updating of se->avg->runnable_avg_sum business.
quoted
- sa->last_runnable_update'(cpu)/max_freq(cpu). This value would have to be retrieved from the arch in __update_entity_runnable_avg().
[...]