Steven Rostedt (Red Hat)
2c4a33aba5
tracing: Fix traceon trigger condition to actually turn tracing on
...
While working on my tutorial for 2014 Linux Collaboration Summit
I found that the traceon trigger did not work when conditions were
used. The other triggers worked fine though. Looking into it, it
is because of the way the triggers use the ring buffer to store
the fields it will use for the condition. But if tracing is off, nothing
is stored in the buffer, and the tracepoint exits before calling the
trigger to test the condition. This is fine for all the triggers that
only work when tracing is on, but for traceon trigger that is to
work when tracing is off, nothing happens.
The fix is simple, just use a temp ring buffer to record the event
if tracing is off and the event has a trace event conditional trigger
enabled. The rest of the tracepoint code will work just fine, but
the tracepoint wont be recorded in the other buffers.
Cc: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-03-25 23:39:41 -04:00
..
blktrace.c
block: Abstract out bvec iterator
2013-11-23 22:33:47 -08:00
ftrace.c
This pull request has a new feature to ftrace, namely the trace event
2014-01-22 16:35:21 -08:00
Kconfig
ring-buffer: Select IRQ_WORK
2013-05-03 19:24:17 -04:00
Makefile
tracing: Add basic event trigger framework
2013-12-20 18:40:22 -05:00
power-traces.c
ring_buffer.c
ring-buffer: Fix first commit on sub-buffer having non-zero delta
2014-02-11 13:38:54 -05:00
ring_buffer_benchmark.c
rpm-traces.c
trace.c
tracing: Fix traceon trigger condition to actually turn tracing on
2014-03-25 23:39:41 -04:00
trace.h
tracing: Fix rcu handling of event_trigger_data filter field
2014-01-02 16:17:22 -05:00
trace_branch.c
tracing: Update event filters for multibuffer
2013-11-05 16:50:20 -05:00
trace_clock.c
trace_entries.h
trace_event_perf.c
perf/trace: Properly use u64 to hold event_id
2013-11-19 16:57:44 +01:00
trace_events.c
tracing: Fix array size mismatch in format string
2014-03-20 13:21:05 -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: Show available event triggers when no trigger is set
2014-01-09 21:20:32 -05:00
trace_export.c
tracing: Fix array size mismatch in format string
2014-03-20 13:21:05 -04:00
trace_functions.c
tracing: Add ref_data to function and fgraph tracer structs
2013-07-18 21:31:31 -04:00
trace_functions_graph.c
tracing: Do not use signed enums with unsigned long long in fgragh output
2013-11-06 15:26:56 -05:00
trace_irqsoff.c
tracing: Use flag buffer_disabled for irqsoff tracer
2013-07-01 20:34:28 -04:00
trace_kdb.c
trace_kprobe.c
tracing: Consolidate event trigger code
2014-01-09 21:20:07 -05:00
trace_mmiotrace.c
tracing: Update event filters for multibuffer
2013-11-05 16:50:20 -05:00
trace_nop.c
trace_output.c
ftrace, sched: Add TRACE_FLAG_PREEMPT_RESCHED
2013-11-11 12:43:39 +01:00
trace_output.h
trace_printk.c
tracing: Add __tracepoint_string() to export string pointers
2013-07-26 13:39:44 -04:00
trace_probe.c
tracing/uprobes: Add @+file_offset fetch method
2014-01-02 20:57:05 -05:00
trace_probe.h
tracing/probes: Fix build break on !CONFIG_KPROBE_EVENT
2014-01-03 15:27:18 -05:00
trace_sched_switch.c
tracing: Update event filters for multibuffer
2013-11-05 16:50:20 -05:00
trace_sched_wakeup.c
sched/deadline: Add SCHED_DEADLINE inheritance logic
2014-01-13 13:42:56 +01:00
trace_selftest.c
sched/deadline: Add latency tracing for SCHED_DEADLINE tasks
2014-01-13 13:41:11 +01:00
trace_selftest_dynamic.c
trace_stack.c
tracing: Add generic tracing_lseek() function
2014-01-02 16:17:12 -05:00
trace_stat.c
trace/trace_stat: use rbtree postorder iteration helper instead of opencoding
2013-11-05 16:01:47 -05:00
trace_stat.h
trace_syscalls.c
tracing: Consolidate event trigger code
2014-01-09 21:20:07 -05:00
trace_uprobe.c
tracing/probes: Fix build break on !CONFIG_KPROBE_EVENT
2014-01-03 15:27:18 -05:00