linux-hardened/kernel/trace
Steven Rostedt 2f26ebd549 tracing: use timestamp to determine start of latency traces
Currently the latency tracers reset the ring buffer. Unfortunately
if a commit is in process (due to a trace event), this can corrupt
the ring buffer. When this happens, the ring buffer will detect
the corruption and then permanently disable the ring buffer.

The bug does not crash the system, but it does prevent further tracing
after the bug is hit.

Instead of reseting the trace buffers, the timestamp of the start of
the trace is used instead. The buffers will still contain the previous
data, but the output will not count any data that is before the
timestamp of the trace.

Note, this only affects the static trace output (trace) and not the
runtime trace output (trace_pipe). The runtime trace output does not
make sense for the latency tracers anyway.

Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2009-09-04 18:44:22 -04:00
..
blktrace.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
ftrace.c ftrace: Simplify seqfile code 2009-08-17 11:25:10 +02:00
Kconfig tracing: remove legacy select of MARKERS by context switch tracing 2009-08-27 16:58:03 -04:00
kmemtrace.c tracing: remove users of tracing_reset 2009-09-04 12:12:39 -04:00
Makefile tracing/events: convert block trace points to TRACE_EVENT() 2009-06-09 12:34:23 -04:00
ring_buffer.c ring-buffer: disable all cpu buffers when one finds a problem 2009-09-04 11:46:25 -04:00
ring_buffer_benchmark.c ring-buffer: have benchmark test print to trace buffer 2009-06-17 17:01:09 -04:00
trace.c tracing: use timestamp to determine start of latency traces 2009-09-04 18:44:22 -04:00
trace.h tracing: use timestamp to determine start of latency traces 2009-09-04 18:44:22 -04:00
trace_boot.c tracing: remove users of tracing_reset 2009-09-04 12:12:39 -04:00
trace_branch.c Merge branch 'linus' into tracing/core 2009-05-07 11:17:34 +02:00
trace_clock.c tracing: fix four sparse warnings 2009-03-22 18:16:54 +01:00
trace_event_profile.c ftrace: Fix perf-tracepoint OOPS 2009-08-06 06:26:09 +02:00
trace_event_types.h trace_export: Repair missed fields 2009-06-26 20:48:40 +02:00
trace_events.c tracing/filters: Add __field_ext() to TRACE_EVENT 2009-08-26 00:32:06 -04:00
trace_events_filter.c tracing/filters: Defer pred allocation 2009-08-31 10:58:08 +02:00
trace_export.c tracing/filters: Defer pred allocation 2009-08-31 10:58:08 +02:00
trace_functions.c Merge branch 'linus' into tracing/core 2009-07-18 12:20:01 +02:00
trace_functions_graph.c Merge branch 'linus' into tracing/core 2009-08-11 14:19:09 +02:00
trace_hw_branches.c Merge branch 'tracing/hw-branch-tracing' into tracing/core 2009-05-07 13:36:22 +02:00
trace_irqsoff.c tracing: use timestamp to determine start of latency traces 2009-09-04 18:44:22 -04:00
trace_mmiotrace.c tracing: use macros to denote usec and nsec per second 2009-04-07 14:43:06 +02:00
trace_nop.c tracing/ftrace: make nop-tracer use polling wait for events on pipe 2009-03-23 09:22:15 +01:00
trace_output.c tracing: Fix trace_print_seq() 2009-07-02 08:51:13 +02:00
trace_output.h tracing: add protection around module events unload 2009-06-09 17:29:07 -04:00
trace_power.c tracing: remove users of tracing_reset 2009-09-04 12:12:39 -04:00
trace_printk.c tracing: show proper address for trace-printk format 2009-07-23 10:07:17 -04:00
trace_sched_switch.c tracing: Move sched event insertion helpers in the sched switch tracer file 2009-08-06 07:28:06 +02:00
trace_sched_wakeup.c tracing: use timestamp to determine start of latency traces 2009-09-04 18:44:22 -04:00
trace_selftest.c tracing/function-graph-tracer: Move graph event insertion helpers in the graph tracer file 2009-08-06 07:28:06 +02:00
trace_selftest_dynamic.c ftrace: fix dynamic ftrace selftest 2008-05-23 21:13:23 +02:00
trace_stack.c trace_stack: Simplify seqfile code 2009-08-17 11:25:09 +02:00
trace_stat.c trace_stat: Fix missing entry in stat file 2009-08-17 11:25:09 +02:00
trace_stat.h tracing/stat: Add stat_release() callback 2009-07-10 12:14:05 +02:00
trace_syscalls.c tracing: Convert event tracing code to use NR_syscalls 2009-08-26 21:30:02 +02:00
trace_sysprof.c Merge branch 'timers-for-linus-migration' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-15 10:06:19 -07:00
trace_workqueue.c tracing/workqueues: Add refcnt to struct cpu_workqueue_stats 2009-07-10 12:14:07 +02:00