android_kernel_motorola_sm6375/kernel/trace
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Steven Rostedt (VMware) 065e63f951 tracing: Only have rmmod clear buffers that its events were active in
Currently, when a module event is enabled, when that module is removed, it
clears all ring buffers. This is to prevent another module from being loaded
and having one of its trace event IDs from reusing a trace event ID of the
removed module. This could cause undesirable effects as the trace event of
the new module would be using its own processing algorithms to process raw
data of another event. To prevent this, when a module is loaded, if any of
its events have been used (signified by the WAS_ENABLED event call flag,
which is never cleared), all ring buffers are cleared, just in case any one
of them contains event data of the removed event.

The problem is, there's no reason to clear all ring buffers if only one (or
less than all of them) uses one of the events. Instead, only clear the ring
buffers that recorded the events of a module that is being removed.

To do this, instead of keeping the WAS_ENABLED flag with the trace event
call, move it to the per instance (per ring buffer) event file descriptor.
The event file descriptor maps each event to a separate ring buffer
instance. Then when the module is removed, only the ring buffers that
activated one of the module's events get cleared. The rest are not touched.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
2017-08-31 17:47:38 -04:00
..
blktrace.c block: switch bios to blk_status_t 2017-06-09 09:27:32 -06:00
bpf_trace.c bpf: fix bpf_trace_printk on 32 bit archs 2017-08-15 17:32:15 -07:00
ftrace.c ftrace: Check for null ret_stack on profile function graph entry function 2017-08-24 10:04:01 -04:00
Kconfig tracing: Rename update the enum_map file 2017-06-13 17:13:06 -04:00
Makefile
power-traces.c
ring_buffer.c ring-buffer: Have ring_buffer_alloc_read_page() return error on offline CPU 2017-08-02 14:23:02 -04:00
ring_buffer_benchmark.c ring-buffer: Have ring_buffer_alloc_read_page() return error on offline CPU 2017-08-02 14:23:02 -04:00
rpm-traces.c
trace.c tracing: Only have rmmod clear buffers that its events were active in 2017-08-31 17:47:38 -04:00
trace.h tracing: Only have rmmod clear buffers that its events were active in 2017-08-31 17:47:38 -04:00
trace_benchmark.c
trace_benchmark.h
trace_branch.c
trace_clock.c
trace_entries.h
trace_event_perf.c
trace_events.c tracing: Only have rmmod clear buffers that its events were active in 2017-08-31 17:47:38 -04:00
trace_events_filter.c tracing: Fix freeing of filter in create_filter() when set_str is false 2017-08-24 10:07:38 -04:00
trace_events_filter_test.h
trace_events_hist.c
trace_events_trigger.c
trace_export.c
trace_functions.c ftrace: Fix regression with module command in stack_trace_filter 2017-06-29 10:05:45 -04:00
trace_functions_graph.c
trace_hwlat.c
trace_irqsoff.c
trace_kdb.c
trace_kprobe.c A few more minor updates: 2017-07-13 13:17:19 -07:00
trace_mmiotrace.c
trace_nop.c
trace_output.c tracing: Add support for display of tgid in trace output 2017-06-27 13:30:28 -04:00
trace_output.h
trace_printk.c
trace_probe.c
trace_probe.h
trace_sched_switch.c tracing: Add support for recording tgid of tasks 2017-06-27 13:30:28 -04:00
trace_sched_wakeup.c
trace_selftest.c
trace_selftest_dynamic.c
trace_seq.c
trace_stack.c tracing: Do note expose stack_trace_filter without DYNAMIC_FTRACE 2017-07-11 19:21:04 -04:00
trace_stat.c
trace_stat.h
trace_syscalls.c
trace_uprobe.c
tracing_map.c tracing: Fix kmemleak in tracing_map_array_free() 2017-08-24 10:05:51 -04:00
tracing_map.h