From 6e09c70e57d3eebd57ca5ae3506d643ad0435747 Mon Sep 17 00:00:00 2001 From: Balbir Singh Date: Fri, 22 Feb 2008 13:25:53 +0530 Subject: [PATCH] --- yaml --- r: 86322 b: refs/heads/master c: 70eee74b70c1a8485ec5f2bafa13dbc66fab6e02 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/sched_fair.c | 15 ++++++--------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index fbab32043b49..962a964a1a32 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6892b75e60557a48c01d57ba320419a9e2ce9846 +refs/heads/master: 70eee74b70c1a8485ec5f2bafa13dbc66fab6e02 diff --git a/trunk/kernel/sched_fair.c b/trunk/kernel/sched_fair.c index 6c091d6e159d..7abad50d935f 100644 --- a/trunk/kernel/sched_fair.c +++ b/trunk/kernel/sched_fair.c @@ -202,16 +202,13 @@ static struct sched_entity *__pick_next_entity(struct cfs_rq *cfs_rq) static inline struct sched_entity *__pick_last_entity(struct cfs_rq *cfs_rq) { - struct rb_node **link = &cfs_rq->tasks_timeline.rb_node; - struct sched_entity *se = NULL; - struct rb_node *parent; - - while (*link) { - parent = *link; - se = rb_entry(parent, struct sched_entity, run_node); - link = &parent->rb_right; - } + struct rb_node *last; + struct sched_entity *se; + last = rb_last(&cfs_rq->tasks_timeline); + if (!last) + return NULL; + se = rb_entry(last, struct sched_entity, run_node); return se; }