diff options
| author | Steve French <sfrench@us.ibm.com> | 2006-02-15 03:36:31 +0000 |
|---|---|---|
| committer | Steve French <sfrench@us.ibm.com> | 2006-02-15 03:36:31 +0000 |
| commit | 0ed3f64ec3a7ad29e83e03607115eeffa32f553c (patch) | |
| tree | 528681b043e947cfc51527d56098f586b6dfa217 /kernel/hrtimer.c | |
| parent | 5815449d1bfcb22f74b0e36a8b0631d6584cb7fc (diff) | |
| parent | 10ee39fe3ff618d274e1cd0f6abbc2917b736bfd (diff) | |
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'kernel/hrtimer.c')
| -rw-r--r-- | kernel/hrtimer.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index 2b6e1757aed..5ae51f1bc7c 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c @@ -418,8 +418,19 @@ hrtimer_start(struct hrtimer *timer, ktime_t tim, const enum hrtimer_mode mode) /* Switch the timer base, if necessary: */ new_base = switch_hrtimer_base(timer, base); - if (mode == HRTIMER_REL) + if (mode == HRTIMER_REL) { tim = ktime_add(tim, new_base->get_time()); + /* + * CONFIG_TIME_LOW_RES is a temporary way for architectures + * to signal that they simply return xtime in + * do_gettimeoffset(). In this case we want to round up by + * resolution when starting a relative timer, to avoid short + * timeouts. This will go away with the GTOD framework. + */ +#ifdef CONFIG_TIME_LOW_RES + tim = ktime_add(tim, base->resolution); +#endif + } timer->expires = tim; enqueue_hrtimer(timer, new_base); |
