Steven Rostedt
db4c75cbeb
tracing: Fix stacktrace of latency tracers (irqsoff and friends)
...
While debugging a latency with someone on IRC (mirage335) on #linux-rt (OFTC),
we discovered that the stacktrace output of the latency tracers
(preemptirqsoff) was empty.
This bug was caused by the creation of the dynamic length stack trace
again (like commit 12b5da3 "tracing: Fix ent_size in trace output" was).
This bug is caused by the latency tracers requiring the next event
to determine the time between the current event and the next. But by
grabbing the next event, the iter->ent_size is set to the next event
instead of the current one. As the stacktrace event is the last event,
this makes the ent_size zero and causes nothing to be printed for
the stack trace. The dynamic stacktrace uses the ent_size to determine
how much of the stack can be printed. The ent_size of zero means
no stack.
The simple fix is to save the iter->ent_size before finding the next event.
Note, mirage335 asked to remain anonymous from LKML and git, so I will
not add the Reported-by and Tested-by tags, even though he did report
the issue and tested the fix.
Cc: stable@vger.kernel.org # 3.1+
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2012-04-19 17:00:13 -04:00
..
blktrace.c
simple_open: automatically convert to simple_open()
2012-04-05 15:25:50 -07:00
ftrace.c
ftrace: Fix function_graph for archs that test ftrace_trace_function
2012-03-13 15:07:37 -04:00
Kconfig
tracing: Do not select FRAME_POINTER on PPC
2012-02-27 08:45:11 -05:00
Makefile
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2011-10-26 17:03:38 +02:00
power-traces.c
perf: Clean up power events by introducing new, more generic ones
2011-01-04 08:16:54 +01:00
ring_buffer.c
tracing/ring-buffer: Only have tracing_on disable tracing buffers
2012-02-22 15:50:28 -05:00
ring_buffer_benchmark.c
tracing: Use NUMA allocation for per-cpu ring buffer pages
2011-06-14 22:04:39 -04:00
rpm-traces.c
PM / Runtime: Introduce trace points for tracing rpm_* functions
2011-09-27 22:53:27 +02:00
trace.c
tracing: Fix regression with tracing_on
2012-04-16 15:41:28 -04:00
trace.h
tracing: Fix build breakage without CONFIG_PERF_EVENTS (again)
2012-04-13 21:37:04 -04:00
trace_branch.c
trace_clock.c
tracing: Add a counter clock for those that do not trust clocks
2011-09-19 11:35:58 -04:00
trace_entries.h
Merge branch 'tip/perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent
2012-03-24 08:19:09 +01:00
trace_event_perf.c
ftrace, perf: Add filter support for function trace event
2012-02-21 11:08:30 -05:00
trace_events.c
ftrace, perf: Add add/del tracepoint perf registration actions
2012-02-21 11:08:25 -05:00
trace_events_filter.c
ftrace, perf: Add filter support for function trace event
2012-02-21 11:08:30 -05:00
trace_events_filter_test.h
tracing/filter: Add startup tests for events filter
2011-08-19 14:35:59 -04:00
trace_export.c
Merge branch 'tip/perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent
2012-03-24 08:19:09 +01:00
trace_functions.c
ftrace: Fix regression of :mod:module function enabling
2011-07-07 11:30:08 -04:00
trace_functions_graph.c
tracing: Still trace filtered irq functions when irq trace is disabled
2011-07-07 22:26:27 -04:00
trace_irqsoff.c
Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core
2011-11-11 08:19:37 +01:00
trace_kdb.c
kdb,ftdump: Remove reference to internal kdb include
2010-10-22 15:34:11 -05:00
trace_kprobe.c
ftrace, perf: Add add/del tracepoint perf registration actions
2012-02-21 11:08:25 -05:00
trace_mmiotrace.c
atomic: use <linux/atomic.h>
2011-07-26 16:49:47 -07:00
trace_nop.c
trace_output.c
tracing: Fix stacktrace of latency tracers (irqsoff and friends)
2012-04-19 17:00:13 -04:00
trace_output.h
trace_printk.c
tracing: Clean up tb_fmt to not give faulty compile warning
2011-08-10 20:36:32 -04:00
trace_sched_switch.c
tracing: Remove obsolete sched_switch tracer
2011-02-08 17:14:56 -05:00
trace_sched_wakeup.c
tracing/latency: Fix header output for latency tracers
2011-11-07 13:48:35 -05:00
trace_selftest.c
ftrace: Add self-tests for multiple function trace users
2011-05-18 19:24:51 -04:00
trace_selftest_dynamic.c
ftrace: Add self-tests for multiple function trace users
2011-05-18 19:24:51 -04:00
trace_stack.c
tracing: Have stack tracing set filtered functions at boot
2011-12-21 07:26:49 -05:00
trace_stat.c
trace_stat.h
trace_syscalls.c
ftrace, perf: Add add/del tracepoint perf registration actions
2012-02-21 11:08:25 -05:00
trace_workqueue.c