timers: Framework for identifying pinned timers
authorArun R Bharadwaj <arun@linux.vnet.ibm.com>
Thu, 16 Apr 2009 06:43:26 +0000 (11:43 +0530)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 13 May 2009 14:52:42 +0000 (16:52 +0200)
commit597d0275736dad9c3bda6f0a00a1c477dc0f37b1
tree7ebbe9f80fb13a3ec34ea997d00c21eecf7699ae
parenta04198887658e1d8ae25f5420035c057cb170e67
timers: Framework for identifying pinned timers

* Arun R Bharadwaj <arun@linux.vnet.ibm.com> [2009-04-16 12:11:36]:

This patch creates a new framework for identifying cpu-pinned timers
and hrtimers.

This framework is needed because pinned timers are expected to fire on
the same CPU on which they are queued. So it is essential to identify
these and not migrate them, in case there are any.

For regular timers, the currently existing add_timer_on() can be used
queue pinned timers and subsequently mod_timer_pinned() can be used
to modify the 'expires' field.

For hrtimers, new modes HRTIMER_ABS_PINNED and HRTIMER_REL_PINNED are
added to queue cpu-pinned hrtimer.

[ tglx: use .._PINNED mode argument instead of creating tons of new
functions ]

Signed-off-by: Arun R Bharadwaj <arun@linux.vnet.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/linux/hrtimer.h
include/linux/timer.h
kernel/hrtimer.c
kernel/timer.c