diff options
author | Ingo Molnar <mingo@elte.hu> | 2007-08-24 14:39:10 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2007-08-24 14:39:10 -0400 |
commit | 095e56c7036fe97bc3ebcd80ed6e121be0847656 (patch) | |
tree | f911a303a427ca6286dd61a2f2f82b92fc3daa28 | |
parent | ea0aa3b23a193d1fc5c982286edecd071af67d94 (diff) |
sched: fix startup penalty calculation
fix task startup penalty miscalculation: sysctl_sched_granularity is
unsigned int and wait_runtime is long so we first have to convert it
to long before turning it negative ...
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | kernel/sched_fair.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index c078f1af721c..4d6b7e2df2aa 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c | |||
@@ -1047,7 +1047,7 @@ static void task_new_fair(struct rq *rq, struct task_struct *p) | |||
1047 | * -granularity/2, so initialize the task with that: | 1047 | * -granularity/2, so initialize the task with that: |
1048 | */ | 1048 | */ |
1049 | if (sysctl_sched_features & SCHED_FEAT_START_DEBIT) | 1049 | if (sysctl_sched_features & SCHED_FEAT_START_DEBIT) |
1050 | p->se.wait_runtime = -(sysctl_sched_granularity / 2); | 1050 | p->se.wait_runtime = -((long)sysctl_sched_granularity / 2); |
1051 | 1051 | ||
1052 | __enqueue_entity(cfs_rq, se); | 1052 | __enqueue_entity(cfs_rq, se); |
1053 | } | 1053 | } |