aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched/deadline.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched/deadline.c')
-rw-r--r--kernel/sched/deadline.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index 726470d47f87..e0e9c2986976 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -1166,9 +1166,6 @@ static int find_later_rq(struct task_struct *task)
1166 * We have to consider system topology and task affinity 1166 * We have to consider system topology and task affinity
1167 * first, then we can look for a suitable cpu. 1167 * first, then we can look for a suitable cpu.
1168 */ 1168 */
1169 cpumask_copy(later_mask, task_rq(task)->rd->span);
1170 cpumask_and(later_mask, later_mask, cpu_active_mask);
1171 cpumask_and(later_mask, later_mask, &task->cpus_allowed);
1172 best_cpu = cpudl_find(&task_rq(task)->rd->cpudl, 1169 best_cpu = cpudl_find(&task_rq(task)->rd->cpudl,
1173 task, later_mask); 1170 task, later_mask);
1174 if (best_cpu == -1) 1171 if (best_cpu == -1)
@@ -1563,6 +1560,7 @@ static void rq_online_dl(struct rq *rq)
1563 if (rq->dl.overloaded) 1560 if (rq->dl.overloaded)
1564 dl_set_overload(rq); 1561 dl_set_overload(rq);
1565 1562
1563 cpudl_set_freecpu(&rq->rd->cpudl, rq->cpu);
1566 if (rq->dl.dl_nr_running > 0) 1564 if (rq->dl.dl_nr_running > 0)
1567 cpudl_set(&rq->rd->cpudl, rq->cpu, rq->dl.earliest_dl.curr, 1); 1565 cpudl_set(&rq->rd->cpudl, rq->cpu, rq->dl.earliest_dl.curr, 1);
1568} 1566}
@@ -1574,6 +1572,7 @@ static void rq_offline_dl(struct rq *rq)
1574 dl_clear_overload(rq); 1572 dl_clear_overload(rq);
1575 1573
1576 cpudl_set(&rq->rd->cpudl, rq->cpu, 0, 0); 1574 cpudl_set(&rq->rd->cpudl, rq->cpu, 0, 0);
1575 cpudl_clear_freecpu(&rq->rd->cpudl, rq->cpu);
1577} 1576}
1578 1577
1579void init_sched_dl_class(void) 1578void init_sched_dl_class(void)