sched: add power aware scheduling sysctl

The sched_enable_power_aware sysctl will control whether
or not scheduling decisions are influenced by the power
consumption of individual CPUs.

Change-Id: I312f892cf76a3fccc4ecc8aa6703908b205267f0
Signed-off-by: Steve Muckle <smuckle@codeaurora.org>
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
This commit is contained in:
Steve Muckle 2014-06-12 10:44:46 -07:00 committed by David Keitel
parent 6e8842f8be
commit ec7d8cc076
3 changed files with 16 additions and 0 deletions

View file

@ -55,6 +55,7 @@ extern unsigned int sysctl_sched_small_task_pct;
extern unsigned int sysctl_sched_upmigrate_pct;
extern unsigned int sysctl_sched_downmigrate_pct;
extern int sysctl_sched_upmigrate_min_nice;
extern unsigned int sysctl_sched_enable_power_aware;
#else /* CONFIG_SCHED_HMP */

View file

@ -2574,6 +2574,12 @@ unsigned int __read_mostly sysctl_sched_enable_hmp_task_placement = 1;
*/
unsigned int __read_mostly sysctl_sched_mostly_idle_nr_run = 3;
/*
* Control whether or not individual CPU power consumption is used to
* guide task placement.
*/
unsigned int __read_mostly sysctl_sched_enable_power_aware = 1;
/*
* Conversion of *_pct to absolute form is based on max_task_load().
*
@ -2980,6 +2986,8 @@ static inline int nr_big_tasks(struct rq *rq)
#else /* CONFIG_SCHED_HMP */
#define sysctl_sched_enable_power_aware 0
static inline int select_best_cpu(struct task_struct *p, int target)
{
return 0;

View file

@ -365,6 +365,13 @@ static struct ctl_table kern_table[] = {
.mode = 0644,
.proc_handler = sched_hmp_proc_update_handler,
},
{
.procname = "sched_enable_power_aware",
.data = &sysctl_sched_enable_power_aware,
.maxlen = sizeof(unsigned int),
.mode = 0644,
.proc_handler = proc_dointvec,
},
#endif /* CONFIG_SCHED_HMP */
#ifdef CONFIG_SCHED_DEBUG
{