summaryrefslogtreecommitdiffstats
path: root/kernel/hrtimer.c
diff options
context:
space:
mode:
authorRoman Zippel <zippel@linux-m68k.org>2006-03-26 11:38:06 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-26 18:57:02 +0200
commit44f21475511bbc0135b52c66ad74dcc6a9026da3 (patch)
tree5cbd605c9d074f40b52a877859957432311b2399 /kernel/hrtimer.c
parent[PATCH] hrtimers: optimize softirq runqueues (diff)
downloadlinux-44f21475511bbc0135b52c66ad74dcc6a9026da3.tar.xz
linux-44f21475511bbc0135b52c66ad74dcc6a9026da3.zip
[PATCH] hrtimers: pass current time to hrtimer_forward()
Pass current time to hrtimer_forward(). This allows to use the softirq time in the timer base when the forward function is called from the timer callback. Other places pass current time with a call to timer->base->get_time(). Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/hrtimer.c')
-rw-r--r--kernel/hrtimer.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c
index b728cc53452b..e989c9981a96 100644
--- a/kernel/hrtimer.c
+++ b/kernel/hrtimer.c
@@ -301,18 +301,17 @@ void unlock_hrtimer_base(const struct hrtimer *timer, unsigned long *flags)
* hrtimer_forward - forward the timer expiry
*
* @timer: hrtimer to forward
+ * @now: forward past this time
* @interval: the interval to forward
*
* Forward the timer expiry so it will expire in the future.
* Returns the number of overruns.
*/
unsigned long
-hrtimer_forward(struct hrtimer *timer, ktime_t interval)
+hrtimer_forward(struct hrtimer *timer, ktime_t now, ktime_t interval)
{
unsigned long orun = 1;
- ktime_t delta, now;
-
- now = timer->base->get_time();
+ ktime_t delta;
delta = ktime_sub(now, timer->expires);