diff options
author | Morten Rasmussen <morten.rasmussen@arm.com> | 2014-10-21 23:07:25 -0700 |
---|---|---|
committer | Michael Turquette <mturquette@deferred.io> | 2014-11-19 00:27:43 -0800 |
commit | 5986fc8957ea0f3ba5ba53a9fe95d2105d5a3c9e (patch) | |
tree | 3ccdb42e7266a1bb71d3cbc80eb42072e3dddf77 | |
parent | e0496ee20818a396db34d96668025e87fec596fd (diff) |
sched: Make energy awareness a sched feature
This patch introduces the ENERGY_AWARE sched feature, which is
implemented using jump labels when SCHED_DEBUG is defined. It is
statically set false when SCHED_DEBUG is not defined. Hence this doesn't
allow energy awareness to be enabled without SCHED_DEBUG. This
sched_feature knob will be replaced later with a more appropriate
control knob when things have matured a bit.
Signed-off-by: Morten Rasmussen <morten.rasmussen@arm.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
[mturquette@linaro.org: moved energy_aware above enqueue_task_fair]
-rw-r--r-- | kernel/sched/fair.c | 5 | ||||
-rw-r--r-- | kernel/sched/features.h | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 81d1d038c9a0..8a2e363a8a0b 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -4186,6 +4186,11 @@ static inline void hrtick_update(struct rq *rq) } #endif +static inline bool energy_aware(void) +{ + return sched_feat(ENERGY_AWARE); +} + /* * The enqueue_task method is called before nr_running is * increased. Here we update the fair scheduling stats and diff --git a/kernel/sched/features.h b/kernel/sched/features.h index 90284d117fe6..199ee3a62fbc 100644 --- a/kernel/sched/features.h +++ b/kernel/sched/features.h @@ -83,3 +83,9 @@ SCHED_FEAT(NUMA_FAVOUR_HIGHER, true) */ SCHED_FEAT(NUMA_RESIST_LOWER, false) #endif + +/* + * Energy aware scheduling. Use platform energy model to guide scheduling + * decisions optimizing for energy efficiency. + */ +SCHED_FEAT(ENERGY_AWARE, false) |