summaryrefslogtreecommitdiff
path: root/kernel/sched
diff options
context:
space:
mode:
authorSai Charan Gurrappadi <sgurrappadi@nvidia.com>2012-07-25 08:37:14 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 12:32:20 -0700
commit037ff9dcf4ad2b8e0a9af30791b080a658059c40 (patch)
tree42e20eb96b2354e90270612d012600a5eaf3865d /kernel/sched
parent2aa434c4bd423314c5770f92a384ab1d63ed0202 (diff)
cpuquiet: Runnable threads governor
[perf] The runnable threads governor only looks at the average number of runnables in the system to make a decision when bringing cores offline/online. First pass; tweaks thresholds and delays to reduce decision latency to about ~50-70ms per core (from ~100-150ms per core) Change-Id: Idd3b268a74a8f56ad3fc0e5c7f388174d1b6611f Signed-off-by: Sai Charan Gurrappadi <sgurrappadi@nvidia.com> Reviewed-on: http://git-master/r/124679 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com> Rebase-Id: R176b97c14a54c057c2e7f4e57237e839ac714d88
Diffstat (limited to 'kernel/sched')
-rw-r--r--kernel/sched/core.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 4bde4c7617eb..7ce4b3ad1f76 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -2102,6 +2102,18 @@ unsigned long avg_nr_running(void)
return sum;
}
+unsigned long get_avg_nr_running(unsigned int cpu)
+{
+ struct rq *q;
+
+ if (cpu >= nr_cpu_ids)
+ return 0;
+
+ q = cpu_rq(cpu);
+
+ return q->ave_nr_running;
+}
+
/*
* Global load-average calculations
*