[PATCH] sched: smpnice - fix average load per run queue calculations

From: Peter Williams
Date: Mon Feb 27 2006 - 01:28:42 EST


The logical value to use for the average load per task on a run queue without any runnable tasks is the "default" load for a nice==0 task. Failure to do this may lead to anomalies in try_to_wake_up(), etc.

Signed-off-by: Peter Williams <pwil3058@xxxxxxxxxxxxxx>

Peter
--
Peter Williams pwil3058@xxxxxxxxxxxxxx

"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce
Index: MM-2.6.X/kernel/sched.c
===================================================================
--- MM-2.6.X.orig/kernel/sched.c 2006-02-27 17:18:12.000000000 +1100
+++ MM-2.6.X/kernel/sched.c 2006-02-27 17:19:52.000000000 +1100
@@ -1058,7 +1058,7 @@ static inline unsigned long cpu_avg_load
runqueue_t *rq = cpu_rq(cpu);
unsigned long n = rq->nr_running;

- return n ? rq->raw_weighted_load / n : rq->raw_weighted_load;
+ return n ? rq->raw_weighted_load / n : SCHED_LOAD_SCALE;
}

/*