Messages in this thread Patch in this message | | | Date | Wed, 12 Nov 2008 16:19:00 +0530 | From | Balbir Singh <> | Subject | [PATCH][mmotm] Sched fix stale value in average load per task |
| |
cpu_avg_load_per_task() returns a stale value when nr_running is 0. It returns an older stale (caculated when nr_running was non zero) value. This patch returns and sets rq->avg_load_per_task to zero when nr_running is 0.
Compile and boot tested on a x86_64 box.
Signed-off-by: Balbir Singh <balbir@linux.vnet.ibm.com> ---
kernel/sched.c | 2 ++ 1 file changed, 2 insertions(+)
diff -puN kernel/sched.c~sched-fix-stale-load-avg kernel/sched.c --- linux-2.6.28-rc4/kernel/sched.c~sched-fix-stale-load-avg 2008-11-12 15:55:38.000000000 +0530 +++ linux-2.6.28-rc4-balbir/kernel/sched.c 2008-11-12 15:56:09.000000000 +0530 @@ -1430,6 +1430,8 @@ static unsigned long cpu_avg_load_per_ta if (rq->nr_running) rq->avg_load_per_task = rq->load.weight / rq->nr_running; + else + rq->avg_load_per_task = 0; return rq->avg_load_per_task; } _ -- Balbir
| |