diff options
author | Con Kolivas <kernel@kolivas.org> | 2016-11-04 11:21:05 +1100 |
---|---|---|
committer | Con Kolivas <kernel@kolivas.org> | 2016-11-05 08:53:38 +1100 |
commit | 1efed5b4b8e113daaa8bbe2ab96c65ea945a52b3 (patch) | |
tree | f421d27f74e8edfd74d50dfe579a8e40697840ce /kernel | |
parent | 3d7cd8703e2637a03b07681c24ea188b9368e98b (diff) |
Don't reschedule balance across nodes unless a CPU is idle.
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sched/MuQSS.c | 6 |
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) |