|
@@ -1146,7 +1146,12 @@ static struct task_struct *pick_next_highest_task_rt(struct rq *rq, int cpu)
|
|
if (next && next->prio < idx)
|
|
if (next && next->prio < idx)
|
|
continue;
|
|
continue;
|
|
list_for_each_entry(rt_se, array->queue + idx, run_list) {
|
|
list_for_each_entry(rt_se, array->queue + idx, run_list) {
|
|
- struct task_struct *p = rt_task_of(rt_se);
|
|
|
|
|
|
+ struct task_struct *p;
|
|
|
|
+
|
|
|
|
+ if (!rt_entity_is_task(rt_se))
|
|
|
|
+ continue;
|
|
|
|
+
|
|
|
|
+ p = rt_task_of(rt_se);
|
|
if (pick_rt_task(rq, p, cpu)) {
|
|
if (pick_rt_task(rq, p, cpu)) {
|
|
next = p;
|
|
next = p;
|
|
break;
|
|
break;
|