Commit:     7bae49d498de87f0da0c20c67adaa278eac84566
Parent:     73a2bcb0edb9ffb0b007b3546b430e2c6e415eee
Author:     James Bottomley <[EMAIL PROTECTED]>
AuthorDate: Mon Oct 29 21:18:11 2007 +0100
Committer:  Ingo Molnar <[EMAIL PROTECTED]>
CommitDate: Mon Oct 29 21:18:11 2007 +0100

    sched: fix incorrect assumption that cpu 0 exists
    This patch:
    commit 9b5b77512dce239fa168183fa71896712232e95a
    Author: Srivatsa Vaddagiri <[EMAIL PROTECTED]>
    Date:   Mon Oct 15 17:00:09 2007 +0200
        sched: clean up code under CONFIG_FAIR_GROUP_SCHED
    Introduced an assumption of the existence of CPU0 via this line
    cfs_rq = tg->cfs_rq[0];
    If you have no CPU0, that will be NULL.  The fix seems to be just to
    take whatever cfs_rq queue comes out of the for_each_possible_cpu()
    loop, since they're all equally good for the destruction operation.
    Signed-off-by: James Bottomley <[EMAIL PROTECTED]>
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
 kernel/sched.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/sched.c b/kernel/sched.c
index 74dbb40..235952b 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -7041,7 +7041,7 @@ static void free_sched_group(struct rcu_head *rhp)
 /* Destroy runqueue etc associated with a task group */
 void sched_destroy_group(struct task_group *tg)
-       struct cfs_rq *cfs_rq;
+       struct cfs_rq *cfs_rq = NULL;
        int i;
        for_each_possible_cpu(i) {
@@ -7049,7 +7049,7 @@ void sched_destroy_group(struct task_group *tg)
-       cfs_rq = tg->cfs_rq[0];
+       BUG_ON(!cfs_rq);
        /* wait for possible concurrent references to cfs_rqs complete */
        call_rcu(&cfs_rq->rcu, free_sched_group);
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to