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 08:53:38 +1100
commit1efed5b4b8e113daaa8bbe2ab96c65ea945a52b3 (patch)
treef421d27f74e8edfd74d50dfe579a8e40697840ce /kernel
parent3d7cd8703e2637a03b07681c24ea188b9368e98b (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 1b0e00e7ab71..810a0b1bbc48 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)