The scheduler is currently completely unaware of idle-states. To make informed decisions using the sched_group_energy idle_states list it is necessary to know which idle-state a cpu (or group of cpus) is most likely to be in when it is idle.
For example when migrating a task that wakes up periodically, the wakeup energy expense depends on the idle-state the destination cpu is most likely to be in when idle. Signed-off-by: Morten Rasmussen <[email protected]> --- kernel/sched/fair.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 9720f04..353e2d0 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -4254,6 +4254,19 @@ static inline bool energy_aware(void) return sched_feat(ENERGY_AWARE); } +/* + * Returns the index of the most likely idle-state that the sched_group is in + * when idle. The index can be used to identify the idle-state in the + * sched_group_energy idle_states list. + * + * This is currently just a placeholder. The information needs to come from + * cpuidle. + */ +static inline int likely_idle_state_idx(struct sched_group *sg) +{ + return 0; +} + static int wake_wide(struct task_struct *p) { int factor = this_cpu_read(sd_llc_size); -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

