OSDN Git Service

sched: fix load average accounting vs. cpu hotplug
authorThomas Gleixner <tglx@linutronix.de>
Fri, 17 Jul 2009 12:15:46 +0000 (14:15 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 18 Jul 2009 12:19:52 +0000 (14:19 +0200)
commita468d389349a7560249b355cdb6d2097ea1616c9
treef385d5847644dfdde3fb441b8e4430ac9024d0ab
parent54fdc5816631b43ba55fc3206d7add2d85850bc6
sched: fix load average accounting vs. cpu hotplug

The new load average code clears rq->calc_load_active on
CPU_ONLINE. That's wrong as the new onlined CPU might have got a
scheduler tick already and accounted the delta to the stale value of
the time we offlined the CPU.

Clear the value when we cleanup the dead CPU instead.

Also move the update of the calc_load_update time for the newly online
CPU to CPU_UP_PREPARE to avoid that the CPU plays catch up with the
stale update time value.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/sched.c