timer_list: Add the base offset so remaining nsecs are accurate for non monotonic timers
I noticed for non-monotonic timers in timer_list, some of the output looked a little confusing. For example: #1: <0000000000000000>, posix_timer_fn, S:01, hrtimer_start_range_ns, leap-a-day/2360 # expires at 1434412800000000000-1434412800000000000 nsecs [in 1434410725062375469 to 1434410725062375469 nsecs] You'll note the relative time till the expiration "[in xxx to yyy nsecs]" is incorrect. This is because its printing the delta between CLOCK_MONOTONIC time to the CLOCK_REALTIME expiration. This patch fixes this issue by adding the clock offset to the "now" time which we use to calculate the delta. Cc: Prarit Bhargava <prarit@redhat.com> Cc: Daniel Bristot de Oliveira <bristot@redhat.com> Cc: Richard Cochran <richardcochran@gmail.com> Cc: Jan Kara <jack@suse.cz> Cc: Jiri Bohac <jbohac@suse.cz> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: Shuah Khan <shuahkh@osg.samsung.com> Signed-off-by: John Stultz <john.stultz@linaro.org>
This commit is contained in:
parent
d770e558e2
commit
38bf985b05
|
@ -137,7 +137,7 @@ print_base(struct seq_file *m, struct hrtimer_clock_base *base, u64 now)
|
||||||
(unsigned long long) ktime_to_ns(base->offset));
|
(unsigned long long) ktime_to_ns(base->offset));
|
||||||
#endif
|
#endif
|
||||||
SEQ_printf(m, "active timers:\n");
|
SEQ_printf(m, "active timers:\n");
|
||||||
print_active_timers(m, base, now);
|
print_active_timers(m, base, now + ktime_to_ns(base->offset));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void print_cpu(struct seq_file *m, int cpu, u64 now)
|
static void print_cpu(struct seq_file *m, int cpu, u64 now)
|
||||||
|
|
Loading…
Reference in a new issue