From b23d8537d10e06b6ba731f10c054baa3e19fcc82 Mon Sep 17 00:00:00 2001 From: Gregory Haskins Date: Mon, 12 May 2008 21:21:14 +0200 Subject: [PATCH] --- yaml --- r: 100180 b: refs/heads/master c: 6d299f1b53b84e2665f402d9bcc494800aba6386 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/sched_fair.c | 19 +++++++------------ 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index 6b1a186501eb..3c746719dbb4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6e0534f278199f1e3dd1049b9bc19a7a5b87ada1 +refs/heads/master: 6d299f1b53b84e2665f402d9bcc494800aba6386 diff --git a/trunk/kernel/sched_fair.c b/trunk/kernel/sched_fair.c index 08ae848b71d4..1fe4c65a8170 100644 --- a/trunk/kernel/sched_fair.c +++ b/trunk/kernel/sched_fair.c @@ -1275,23 +1275,18 @@ __load_balance_iterator(struct cfs_rq *cfs_rq, struct list_head *next) struct task_struct *p = NULL; struct sched_entity *se; - if (next == &cfs_rq->tasks) - return NULL; - - /* Skip over entities that are not tasks */ - do { + while (next != &cfs_rq->tasks) { se = list_entry(next, struct sched_entity, group_node); next = next->next; - } while (next != &cfs_rq->tasks && !entity_is_task(se)); - if (next == &cfs_rq->tasks) - return NULL; + /* Skip over entities that are not tasks */ + if (entity_is_task(se)) { + p = task_of(se); + break; + } + } cfs_rq->balance_iterator = next; - - if (entity_is_task(se)) - p = task_of(se); - return p; }