|
@@ -549,8 +549,10 @@ static
|
|
|
void requeue_rt_entity(struct rt_rq *rt_rq, struct sched_rt_entity *rt_se)
|
|
void requeue_rt_entity(struct rt_rq *rt_rq, struct sched_rt_entity *rt_se)
|
|
|
{
|
|
{
|
|
|
struct rt_prio_array *array = &rt_rq->active;
|
|
struct rt_prio_array *array = &rt_rq->active;
|
|
|
|
|
+ struct list_head *queue = array->queue + rt_se_prio(rt_se);
|
|
|
|
|
|
|
|
- list_move_tail(&rt_se->run_list, array->queue + rt_se_prio(rt_se));
|
|
|
|
|
|
|
+ if (on_rt_rq(rt_se))
|
|
|
|
|
+ list_move_tail(&rt_se->run_list, queue);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
static void requeue_task_rt(struct rq *rq, struct task_struct *p)
|
|
static void requeue_task_rt(struct rq *rq, struct task_struct *p)
|