summaryrefslogtreecommitdiff
path: root/include/linux/sched.h
diff options
context:
space:
mode:
authorJoonwoo Park <joonwoop@codeaurora.org>2015-07-27 16:52:12 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:02:25 -0700
commitb4627e0104c72dd25048fdcd8dd38fad78ad9782 (patch)
treefbea7cad871a4c227f6359dc119eab7926bb85fe /include/linux/sched.h
parent28f67e5a50d7c1bfc41cd7eb0f940f5daaa347c2 (diff)
sched: take into account of governor's frequency max load
At present HMP scheduler packs tasks to busy CPU till the CPU's load is 100% to avoid waking up of idle CPU as much as possible. Such aggressive packing leads unintended CPU frequency raise as governor raises the busy CPU's frequency when its load is more than configured frequency max load which can be less than 100%. Fix to take into account of governor's frequency max load and pack tasks only when the CPU's projected load is less than max load to avoid unnecessary frequency raise. Change-Id: I4447e5e0c2fa5214ae7a9128f04fd7585ed0dcac [joonwoop@codeaurora.org: fixed minor conflict in kernel/sched/sched.h] Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r--include/linux/sched.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index fa5ca5e90917..941930f2935f 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -2131,6 +2131,7 @@ extern unsigned long sched_get_busy(int cpu);
extern void sched_get_cpus_busy(unsigned long *busy,
const struct cpumask *query_cpus);
extern void sched_set_io_is_busy(int val);
+int sched_update_freq_max_load(const cpumask_t *cpumask);
#else
static inline int sched_set_window(u64 window_start, unsigned int window_size)
{
@@ -2141,6 +2142,11 @@ static inline unsigned long sched_get_busy(int cpu)
return 0;
}
static inline void sched_set_io_is_busy(int val) {};
+
+static inline int sched_update_freq_max_load(const cpumask_t *cpumask)
+{
+ return 0;
+}
#endif
/*