nohz: Track last do_timer() cpu
authorThomas Gleixner <tglx@linutronix.de>
Thu, 12 Nov 2009 21:12:06 +0000 (22:12 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 13 Nov 2009 19:46:24 +0000 (20:46 +0100)
commit27185016b806d5a1181ff501cae120582b2b27dd
tree44b0da428fccaea1ad83c537bcc99a80b9251227
parent98962465ed9e6ea99c38e0af63fe1dcb5a79dc25
nohz: Track last do_timer() cpu

The previous patch which limits the sleep time to the maximum
deferment time of the time keeping clocksource has some limitations on
SMP machines: if all CPUs are idle then for all CPUs the maximum sleep
time is limited.

Solve this by keeping track of which cpu had the do_timer() duty
assigned last and limit the sleep time only for this cpu.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
LKML-Reference: <new-submission>
Cc: Jon Hunter <jon-hunter@ti.com>
Cc: John Stultz <johnstul@us.ibm.com>
include/linux/tick.h
kernel/time/tick-sched.c