Re: [PATCH v5] sched/deadline: fix earliest_dl.next logic

From: Luca Abeni
Date: Thu Dec 03 2015 - 03:37:58 EST


Hi,

On 12/03/2015 03:25 AM, Wanpeng Li wrote:
[...]
@@ -202,16 +197,18 @@ static void dequeue_pushable_dl_task(struct rq *rq,
struct task_struct *p)

next_node = rb_next(&p->pushable_dl_tasks);
dl_rq->pushable_dl_tasks_leftmost = next_node;
+ if (next_node)
+ dl_rq->earliest_dl.next = rb_entry(next_node,
+ struct task_struct,
pushable_dl_tasks)->dl.deadline;

Juri mentioned "updated leftmost", I'm not sure if it means that:

@@ -195,6 +195,9 @@ static void dequeue_pushable_dl_task(struct rq
*rq, struct task_struct *p)

next_node = rb_next(&p->pushable_dl_tasks);
dl_rq->pushable_dl_tasks_leftmost = next_node;
+ if (dl_rq->pushable_dl_tasks_leftmost)
+ dl_rq->earliest_dl.next =
rb_entry(dl_rq->pushable_dl_tasks_leftmost,
+ struct task_struct,
pushable_dl_tasks)->dl.deadline;
}
This is basically the same thing I tested (I just used "next_node" instead
of "dl_rq->pushable_dl_tasks_leftmost" because the name is shorter), so I
think it should work.


Luca
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/