summaryrefslogtreecommitdiffstats
path: root/kernel/posix-timers.c
diff options
context:
space:
mode:
authorWoodruff, Richard <r-woodruff2@ti.com>2008-12-01 23:18:11 +0100
committerThomas Gleixner <tglx@linutronix.de>2008-12-12 16:55:31 +0100
commit001474491fabeca233168a8598f721c808040f90 (patch)
tree858467ce6aed38ba2bd1ea8682e12bbdb182d0f1 /kernel/posix-timers.c
parentnohz: no softirq pending warnings for offline cpus (diff)
downloadlinux-001474491fabeca233168a8598f721c808040f90.tar.xz
linux-001474491fabeca233168a8598f721c808040f90.zip
nohz: suppress needless timer reprogramming
In my device I get many interrupts from a high speed USB device in a very short period of time. The system spends a lot of time reprogramming the hardware timer which is in a slower timing domain as compared to the CPU. This results in the CPU spending a huge amount of time waiting for the timer posting to be done. All of this reprogramming is useless as the wake up time has not changed. As measured using ETM trace this drops my reprogramming penalty from almost 60% CPU load down to 15% during high interrupt rate. I can send traces to show this. Suppress setting of duplicate timer event when timer already stopped. Timer programming can be very costly and can result in long cpu stall/wait times. [akpm@linux-foundation.org: coding-style fixes] [tglx@linutronix.de: move the check to the right place and avoid raising the softirq for nothing] Signed-off-by: Richard Woodruff <r-woodruff2@ti.com> Cc: johnstul@us.ibm.com Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/posix-timers.c')
0 files changed, 0 insertions, 0 deletions