diff options
-rw-r--r-- | kernel/sched_fair.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index 6c091d6e159d..7abad50d935f 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c | |||
@@ -202,16 +202,13 @@ static struct sched_entity *__pick_next_entity(struct cfs_rq *cfs_rq) | |||
202 | 202 | ||
203 | static inline struct sched_entity *__pick_last_entity(struct cfs_rq *cfs_rq) | 203 | static inline struct sched_entity *__pick_last_entity(struct cfs_rq *cfs_rq) |
204 | { | 204 | { |
205 | struct rb_node **link = &cfs_rq->tasks_timeline.rb_node; | 205 | struct rb_node *last; |
206 | struct sched_entity *se = NULL; | 206 | struct sched_entity *se; |
207 | struct rb_node *parent; | ||
208 | |||
209 | while (*link) { | ||
210 | parent = *link; | ||
211 | se = rb_entry(parent, struct sched_entity, run_node); | ||
212 | link = &parent->rb_right; | ||
213 | } | ||
214 | 207 | ||
208 | last = rb_last(&cfs_rq->tasks_timeline); | ||
209 | if (!last) | ||
210 | return NULL; | ||
211 | se = rb_entry(last, struct sched_entity, run_node); | ||
215 | return se; | 212 | return se; |
216 | } | 213 | } |
217 | 214 | ||