@@ -925,12 +925,11 @@ int __hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
unsigned long delta_ns, const enum hrtimer_mode mode,
int wakeup)
{
- struct hrtimer_clock_base *base, *new_base;
+ struct hrtimer_clock_base *new_base;
unsigned long flags;
int ret;
lock_hrtimer_base(timer, &flags);
- base = timer->base;
/* Remove an active timer from the queue: */
ret = remove_hrtimer(timer);
@@ -949,7 +948,7 @@ int __hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
* timeouts. This will go away with the GTOD framework.
*/
#ifdef CONFIG_TIME_LOW_RES
- tim = ktime_add_safe(tim, base->resolution);
+ tim = ktime_add_safe(tim, new_base->resolution);
#endif
}
This code was added long back by following commit: commit 06027bdd278a32a84b273e41db68a5db8ffd2bb6 Author: Ingo Molnar <mingo@elte.hu> Date: Tue Feb 14 13:53:15 2006 -0800 [PATCH] hrtimer: round up relative start time on low-res arches Don't know if it was a mistake or was intentional. But probably we must use new_base instead of base here to get resolution. Things might be working smoothly as resolution might be same for both the bases in most of the cases. Cc: Ingo Molnar <mingo@redhat.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> --- Also commit log of above commit has this: "This will go away with the GTOD framework". So, should we get this removed? kernel/hrtimer.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)