summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/sched/cpudeadline.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/sched/cpudeadline.c b/kernel/sched/cpudeadline.c
index 8d9562d890d3..6a9defebbb54 100644
--- a/kernel/sched/cpudeadline.c
+++ b/kernel/sched/cpudeadline.c
@@ -42,8 +42,9 @@ static void cpudl_heapify_down(struct cpudl *cp, int idx)
42 return; 42 return;
43 43
44 /* adapted from lib/prio_heap.c */ 44 /* adapted from lib/prio_heap.c */
45 while(1) { 45 while (1) {
46 u64 largest_dl; 46 u64 largest_dl;
47
47 l = left_child(idx); 48 l = left_child(idx);
48 r = right_child(idx); 49 r = right_child(idx);
49 largest = idx; 50 largest = idx;
@@ -131,6 +132,7 @@ int cpudl_find(struct cpudl *cp, struct task_struct *p,
131 return 1; 132 return 1;
132 } else { 133 } else {
133 int best_cpu = cpudl_maximum(cp); 134 int best_cpu = cpudl_maximum(cp);
135
134 WARN_ON(best_cpu != -1 && !cpu_present(best_cpu)); 136 WARN_ON(best_cpu != -1 && !cpu_present(best_cpu));
135 137
136 if (cpumask_test_cpu(best_cpu, &p->cpus_allowed) && 138 if (cpumask_test_cpu(best_cpu, &p->cpus_allowed) &&
@@ -205,6 +207,7 @@ void cpudl_set(struct cpudl *cp, int cpu, u64 dl)
205 old_idx = cp->elements[cpu].idx; 207 old_idx = cp->elements[cpu].idx;
206 if (old_idx == IDX_INVALID) { 208 if (old_idx == IDX_INVALID) {
207 int new_idx = cp->size++; 209 int new_idx = cp->size++;
210
208 cp->elements[new_idx].dl = dl; 211 cp->elements[new_idx].dl = dl;
209 cp->elements[new_idx].cpu = cpu; 212 cp->elements[new_idx].cpu = cpu;
210 cp->elements[cpu].idx = new_idx; 213 cp->elements[cpu].idx = new_idx;