Tony Luck
58d4e21e50
tracing: Fix wraparound problems in "uptime" trace clock
...
The "uptime" trace clock added in:
commit 8aacf017b0
tracing: Add "uptime" trace clock that uses jiffies
has wraparound problems when the system has been up more
than 1 hour 11 minutes and 34 seconds. It converts jiffies
to nanoseconds using:
(u64)jiffies_to_usecs(jiffy) * 1000ULL
but since jiffies_to_usecs() only returns a 32-bit value, it
truncates at 2^32 microseconds. An additional problem on 32-bit
systems is that the argument is "unsigned long", so fixing the
return value only helps until 2^32 jiffies (49.7 days on a HZ=1000
system).
Avoid these problems by using jiffies_64 as our basis, and
not converting to nanoseconds (we do convert to clock_t because
user facing API must not be dependent on internal kernel
HZ values).
Link: http://lkml.kernel.org/p/99d63c5bfe9b320a3b428d773825a37095bf6a51.1405708254.git.tony.luck@intel.com
Cc: stable@vger.kernel.org # 3.10+
Fixes: 8aacf017b0 "tracing: Add "uptime" trace clock that uses jiffies"
Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-07-21 09:56:12 -04:00
..
blktrace.c
Most of the changes were largely clean ups, and some documentation.
2014-04-03 10:26:31 -07:00
ftrace.c
tracing: Fix graph tracer with stack tracer on other archs
2014-07-15 11:10:25 -04:00
Kconfig
tracing: Add tracepoint benchmark tracepoint
2014-05-29 22:49:54 -04:00
Makefile
tracing: Add tracepoint benchmark tracepoint
2014-05-29 22:49:54 -04:00
power-traces.c
ring_buffer.c
ring-buffer: Fix polling on trace_pipe
2014-07-15 17:07:47 -04:00
ring_buffer_benchmark.c
trace: Replace hardcoding of 19 with MAX_NICE
2014-02-27 12:41:03 +01:00
rpm-traces.c
trace.c
tracing: Fix wraparound problems in "uptime" trace clock
2014-07-21 09:56:12 -04:00
trace.h
tracing: Fix check of ftrace_trace_arrays list_empty() check
2014-06-10 13:53:50 -04:00
trace_benchmark.c
tracing: Only calculate stats of tracepoint benchmarks for 2^32 times
2014-06-06 00:41:38 -04:00
trace_benchmark.h
tracing: Add tracepoint benchmark tracepoint
2014-05-29 22:49:54 -04:00
trace_branch.c
trace_clock.c
tracing: Fix wraparound problems in "uptime" trace clock
2014-07-21 09:56:12 -04:00
trace_entries.h
trace_event_perf.c
kprobes, ftrace: Use NOKPROBE_SYMBOL macro in ftrace
2014-04-24 10:26:39 +02:00
trace_events.c
tracing: instance_rmdir() leaks ftrace_event_file->filter
2014-07-14 14:41:13 -04:00
trace_events_filter.c
tracing: Add and use generic set_trigger_filter() implementation
2013-12-21 22:02:17 -05:00
trace_events_filter_test.h
trace_events_trigger.c
tracing: Use rcu_dereference_sched() for trace event triggers
2014-05-02 23:12:42 -04:00
trace_export.c
tracing: Fix anonymous unions in struct ftrace_event_call
2014-04-09 20:02:55 -04:00
trace_functions.c
tracing: Remove mock up poll wait function
2014-04-30 08:40:05 -04:00
trace_functions_graph.c
tracing: Add funcgraph_tail option to print function name after closing braces
2014-05-20 23:29:32 -04:00
trace_irqsoff.c
tracing: Allow irq/preempt tracers to be used by instances
2014-04-21 13:59:29 -04:00
trace_kdb.c
trace_kprobe.c
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-06-12 19:18:49 -07:00
trace_mmiotrace.c
trace_nop.c
tracing: Remove mock up poll wait function
2014-04-30 08:40:05 -04:00
trace_output.c
tracing: Add __bitmask() macro to trace events to cpumasks and other bitmasks
2014-05-15 11:29:37 -04:00
trace_output.h
trace_printk.c
trace_probe.c
kprobes, ftrace: Use NOKPROBE_SYMBOL macro in ftrace
2014-04-24 10:26:39 +02:00
trace_probe.h
kprobes, ftrace: Use NOKPROBE_SYMBOL macro in ftrace
2014-04-24 10:26:39 +02:00
trace_sched_switch.c
trace_sched_wakeup.c
tracing: Remove mock up poll wait function
2014-04-30 08:40:05 -04:00
trace_selftest.c
tracing: Add static to local functions
2014-04-21 14:00:46 -04:00
trace_selftest_dynamic.c
trace_stack.c
tracing: Print max callstack on stacktrace bug
2014-06-02 16:43:49 -04:00
trace_stat.c
trace_stat.h
trace_syscalls.c
tracing: Consolidate event trigger code
2014-01-09 21:20:07 -05:00
trace_uprobe.c
tracing/uprobes: Fix the usage of uprobe_buffer_enable() in probe_event_enable()
2014-06-30 13:22:33 -04:00