Commit:     b9fa3df33f9166daf81bfa8253d339f5a7726122
Parent:     fad095a7b963d9e914e0cdb73e27355c47709441
Author:     Srivatsa Vaddagiri <[EMAIL PROTECTED]>
AuthorDate: Mon Oct 15 17:00:12 2007 +0200
Committer:  Ingo Molnar <[EMAIL PROTECTED]>
CommitDate: Mon Oct 15 17:00:12 2007 +0200

    sched: group scheduler, fix latency
    There is a possibility that because of task of a group moving from one
    cpu to another, it may gain more cpu time that desired. See for details.
    This is an attempt to fix that problem. Basically it simulates dequeue
    of higher level entities as if they are going to sleep. Similarly it
    simulate wakeup of higher level entities as if they are waking up from
    Signed-off-by: Srivatsa Vaddagiri <[EMAIL PROTECTED]>
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
    Reviewed-by: Thomas Gleixner <[EMAIL PROTECTED]>
 kernel/sched_fair.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index 57e7f36..de13a6f 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -727,6 +727,7 @@ static void enqueue_task_fair(struct rq *rq, struct 
task_struct *p, int wakeup)
                cfs_rq = cfs_rq_of(se);
                enqueue_entity(cfs_rq, se, wakeup);
+               wakeup = 1;
@@ -746,6 +747,7 @@ static void dequeue_task_fair(struct rq *rq, struct 
task_struct *p, int sleep)
                /* Don't dequeue parent if it has other entities besides us */
                if (cfs_rq->load.weight)
+               sleep = 1;
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