linux/kernel/trace
Steven Rostedt a2546fae01 ftrace: Add -mfentry to Makefile on function tracer
Thanks to Andi Kleen, gcc 4.6.0 now supports -mfentry for x86
(and hopefully soon for other archs). What this does is to have
the function profiler start at the beginning of the function
instead of after the stack is set up. As plain -pg (mcount) is
called after the stack is set up, and in some cases can have issues
with the function graph tracer. It also requires frame pointers to
be enabled.

The -mfentry now calls __fentry__ at the beginning of the function.
This allows for compiling without frame pointers and even has the
ability to access parameters if needed.

If the architecture and the compiler both support -mfentry then
use that instead.

Link: http://lkml.kernel.org/r/20120807194059.392617243@goodmis.org

Acked-by: H. Peter Anvin <hpa@linux.intel.com>
Acked-by: Ingo Molnar <mingo@kernel.org>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Andi Kleen <andi@firstfloor.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2012-08-23 11:25:02 -04:00
..
Kconfig ftrace: Add -mfentry to Makefile on function tracer 2012-08-23 11:25:02 -04:00
Makefile ftrace: Only compile ftrace selftest if selftests are enabled 2012-07-31 10:29:53 -04:00
blktrace.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
ftrace.c ftrace: add ftrace_set_filter_ip() for address based filter 2012-07-31 10:29:55 -04:00
power-traces.c
ring_buffer.c tracing/trivial: Fix some typos in kernel/trace 2012-08-07 09:43:32 -04:00
ring_buffer_benchmark.c
rpm-traces.c
trace.c Merge branch 'tip/perf/core-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core 2012-08-21 11:36:49 +02:00
trace.h ftrace: Add selftest to test function save-regs support 2012-07-31 10:29:54 -04:00
trace_branch.c
trace_clock.c
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 perf/core improvements and fixes: 2012-08-21 11:27:00 +02:00
trace_events.c ftrace: Add default recursion protection for function tracing 2012-07-31 10:29:52 -04:00
trace_events_filter.c tracing/filter: Add missing initialization 2012-08-07 09:42:47 -04:00
trace_events_filter_test.h
trace_export.c tracing: Do not enable function event with enable 2012-05-10 15:55:43 -04:00
trace_functions.c perf/core improvements and fixes: 2012-08-21 11:27:00 +02:00
trace_functions_graph.c tracing: Remove NR_CPUS array from trace_iterator 2012-06-28 13:52:15 -04:00
trace_irqsoff.c ftrace: Add default recursion protection for function tracing 2012-07-31 10:29:52 -04:00
trace_kdb.c
trace_kprobe.c perf/trace: Add ability to set a target task for events 2012-07-31 17:02:05 +02:00
trace_mmiotrace.c
trace_nop.c
trace_output.c tracing: Register the ftrace internal events during early boot 2012-06-14 15:22:14 -04:00
trace_output.h
trace_printk.c tracing: Add percpu buffers for trace_printk() 2012-04-23 21:15:55 -04:00
trace_probe.c tracing: Provide trace events interface for uprobes 2012-05-07 14:30:17 +02:00
trace_probe.h tracing: Provide trace events interface for uprobes 2012-05-07 14:30:17 +02:00
trace_sched_switch.c
trace_sched_wakeup.c ftrace: Add default recursion protection for function tracing 2012-07-31 10:29:52 -04:00
trace_selftest.c tracing: Fix wakeup_rt self test on virtual machines 2012-08-07 09:40:51 -04:00
trace_selftest_dynamic.c
trace_stack.c ftrace: Add default recursion protection for function tracing 2012-07-31 10:29:52 -04:00
trace_stat.c
trace_stat.h
trace_syscalls.c perf/trace: Add ability to set a target task for events 2012-07-31 17:02:05 +02:00
trace_uprobe.c perf/trace: Add ability to set a target task for events 2012-07-31 17:02:05 +02:00