summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorCon Kolivas <kernel@kolivas.org>2016-11-04 11:21:05 +1100
committerCon Kolivas <kernel@kolivas.org>2016-11-05 09:00:04 +1100
commitd5687ba613fae0106e62c490ca9997e06907bc41 (patch)
tree11ff7c93eb9cbc16f7b5771a814a7325c09e59c6 /kernel
parent756bf8aba48d66c04b68d99c3bda6e75227b00f3 (diff)
Don't reschedule balance across nodes unless a CPU is idle.
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched/MuQSS.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/sched/MuQSS.c b/kernel/sched/MuQSS.c
index 7b6c6942e81d..e3c8010e0e09 100644
--- a/kernel/sched/MuQSS.c
+++ b/kernel/sched/MuQSS.c
@@ -3494,6 +3494,12 @@ static inline struct task_struct
* is locked so entries will always be accurate.
*/
if (!sched_interactive) {
+ /*
+ * Don't reschedule balance across nodes unless the CPU
+ * is idle.
+ */
+ if (edt != idle && rq->cpu_locality[other_rq->cpu] > 3)
+ break;
if (entries <= best_entries)
continue;
} else if (!entries)