diff options
author | Morten Rasmussen <Morten.Rasmussen@arm.com> | 2012-09-14 14:38:10 +0100 |
---|---|---|
committer | Viresh Kumar <viresh.kumar@linaro.org> | 2013-03-12 14:54:31 +0530 |
commit | bc4ed1b52249e43657b264dcf8e12384d4d33b4c (patch) | |
tree | 4d052e9a78192588e4ce23f4baccd1f36a4b8a8a /kernel/sched/sched.h | |
parent | 00d520269ed1cf7266b595312614e06569da0394 (diff) | |
download | linux-linaro-stable-bc4ed1b52249e43657b264dcf8e12384d4d33b4c.tar.gz |
sched: Forced task migration on heterogeneous systems
This patch introduces forced task migration for moving suitable
currently running tasks between hmp_domains. Task behaviour is likely
to change over time. Tasks running in a less capable hmp_domain may
change to become more demanding and should therefore be migrated up.
They are unlikely go through the select_task_rq_fair() path anytime
soon and therefore need special attention.
This patch introduces a period check (SCHED_TICK) of the currently
running task on all runqueues and sets up a forced migration using
stop_machine_no_wait() if the task needs to be migrated.
Ideally, this should not be implemented by polling all runqueues.
Signed-off-by: Morten Rasmussen <Morten.Rasmussen@arm.com>
Diffstat (limited to 'kernel/sched/sched.h')
-rw-r--r-- | kernel/sched/sched.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index 253144f500e5..5affd9cf0a07 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -427,6 +427,9 @@ struct rq { int active_balance; int push_cpu; struct cpu_stop_work active_balance_work; +#ifdef CONFIG_SCHED_HMP + struct task_struct *migrate_task; +#endif /* cpu of this runqueue: */ int cpu; int online; |