summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCon Kolivas <kernel@kolivas.org>2017-08-15 14:05:52 +1000
committerCon Kolivas <kernel@kolivas.org>2017-08-15 14:17:52 +1000
commitc3fabc79a75a585b943b47fce0e296fb2ff47001 (patch)
treea1bd99ed59c37bc21ecb409f3182e5e7fc63a15f
parent7f7155db2d3f4ccec1b0a173d2c8f26a66367ab0 (diff)
Reinstate resched_task in do_set_cpus_allowed to kickstart hotplug threads.
-rw-r--r--kernel/sched/MuQSS.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/sched/MuQSS.c b/kernel/sched/MuQSS.c
index 0e80cd95ec34..1e4a9342d4ef 100644
--- a/kernel/sched/MuQSS.c
+++ b/kernel/sched/MuQSS.c
@@ -5462,8 +5462,14 @@ void __do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask
void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask)
{
__do_set_cpus_allowed(p, new_mask);
- if (needs_other_cpu(p, task_cpu(p)))
+ if (needs_other_cpu(p, task_cpu(p))) {
+ struct rq *rq;
+
+ rq = __task_rq_lock(p);
set_task_cpu(p, valid_task_cpu(p));
+ resched_task(p);
+ __task_rq_unlock(rq);
+ }
}
#endif