Steven Rostedt (Red Hat)
524a386825
ftrace: Fix ftrace enable ordering of sysctl ftrace_enabled
...
Some archs (specifically PowerPC), are sensitive with the ordering of
the enabling of the calls to function tracing and setting of the
function to use to be traced.
That is, update_ftrace_function() sets what function the ftrace_caller
trampoline should call. Some archs require this to be set before
calling ftrace_run_update_code().
Another bug was discovered, that ftrace_startup_sysctl() called
ftrace_run_update_code() directly. If the function the ftrace_caller
trampoline changes, then it will not be updated. Instead a call
to ftrace_startup_enable() should be called because it tests to see
if the callback changed since the code was disabled, and will
tell the arch to update appropriately. Most archs do not need this
notification, but PowerPC does.
The problem could be seen by the following commands:
# echo 0 > /proc/sys/kernel/ftrace_enabled
# echo function > /sys/kernel/debug/tracing/current_tracer
# echo 1 > /proc/sys/kernel/ftrace_enabled
# cat /sys/kernel/debug/tracing/trace
The trace will show that function tracing was not active.
Cc: stable@vger.kernel.org # 2.6.27+
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2015-03-09 10:55:34 -04:00
..
blktrace.c
Merge branch 'for-3.19/core' of git://git.kernel.dk/linux-block
2014-12-13 14:14:23 -08:00
ftrace.c
ftrace: Fix ftrace enable ordering of sysctl ftrace_enabled
2015-03-09 10:55:34 -04:00
Kconfig
tracing: Remove function_trace_stop and HAVE_FUNCTION_TRACE_MCOUNT_TEST
2014-07-18 13:58:12 -04:00
Makefile
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
2015-02-11 17:42:32 -08:00
power-traces.c
PM / sleep: export suspend_resume trace event
2015-01-30 02:10:41 +01:00
ring_buffer.c
ring-buffer: Do not wake up a splice waiter when page is not full
2015-02-11 07:41:42 -05:00
ring_buffer_benchmark.c
trace: Use 64-bit timekeeping
2015-01-28 11:02:05 -05:00
rpm-traces.c
trace.c
tracing: use %*pb[l] to print bitmaps including cpumasks and nodemasks
2015-02-13 21:21:37 -08:00
trace.h
tracing: Make tracing_init_dentry_tr() static
2015-02-02 10:22:23 -05:00
trace_benchmark.c
trace_benchmark.h
trace_branch.c
tracing: Remove unneeded includes of debugfs.h and fs.h
2015-01-22 11:19:48 -05:00
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
perf: Avoid horrible stack usage
2015-01-14 15:11:45 +01:00
trace_events.c
The updates included in this pull request for ftrace are:
2015-02-12 08:37:41 -08:00
trace_events_filter.c
tracing: Allow NOT to filter AND and OR clauses
2014-12-03 10:00:27 -05:00
trace_events_filter_test.h
trace_events_trigger.c
trace: Replace single-character seq_puts with seq_putc
2014-11-14 07:55:55 -05:00
trace_export.c
tracing: Remove unneeded includes of debugfs.h and fs.h
2015-01-22 11:19:48 -05:00
trace_functions.c
tracing/trivial: Fix typos and make an int into a bool
2014-11-20 10:05:36 -05:00
trace_functions_graph.c
tracing: Use IS_ERR() check for return value of tracing_init_dentry()
2015-01-22 11:19:49 -05:00
trace_irqsoff.c
tracing: Remove unneeded includes of debugfs.h and fs.h
2015-01-22 11:19:48 -05:00
trace_kdb.c
KGDB/KDB fixes and cleanups
2015-01-09 20:51:10 -08:00
trace_kprobe.c
The updates included in this pull request for ftrace are:
2015-02-12 08:37:41 -08:00
trace_mmiotrace.c
tracing: Do not check return values of trace_seq_p*() for mmio tracer
2014-11-19 15:25:44 -05:00
trace_nop.c
tracing: Remove unneeded includes of debugfs.h and fs.h
2015-01-22 11:19:48 -05:00
trace_output.c
tracing: Add array printing helper
2015-01-28 10:34:47 -05:00
trace_output.h
tracing: Add trace_seq_has_overflowed() and trace_handle_return()
2014-11-19 15:25:39 -05:00
trace_printk.c
tracing: Use IS_ERR() check for return value of tracing_init_dentry()
2015-01-22 11:19:49 -05:00
trace_probe.c
tracing/probes: Do not use return value of trace_seq_printf()
2014-11-19 15:25:44 -05:00
trace_probe.h
trace_sched_switch.c
tracing: Remove unneeded includes of debugfs.h and fs.h
2015-01-22 11:19:48 -05:00
trace_sched_wakeup.c
tracing: Remove unneeded includes of debugfs.h and fs.h
2015-01-22 11:19:48 -05:00
trace_selftest.c
Seems that Peter Zijlstra added a new check that is making old
2014-10-12 07:28:55 -04:00
trace_selftest_dynamic.c
trace_seq.c
tracing: use %*pb[l] to print bitmaps including cpumasks and nodemasks
2015-02-13 21:21:37 -08:00
trace_stack.c
tracing: Use IS_ERR() check for return value of tracing_init_dentry()
2015-01-22 11:19:49 -05:00
trace_stat.c
tracing: Use IS_ERR() check for return value of tracing_init_dentry()
2015-01-22 11:19:49 -05:00
trace_stat.h
trace_syscalls.c
perf: Avoid horrible stack usage
2015-01-14 15:11:45 +01:00
trace_uprobe.c
The updates included in this pull request for ftrace are:
2015-02-12 08:37:41 -08:00