Frederic Weisbecker
f201ae2356
tracing/function-return-tracer: store return stack into task_struct and allocate it dynamically
...
Impact: use deeper function tracing depth safely
Some tests showed that function return tracing needed a more deeper depth
of function calls. But it could be unsafe to store these return addresses
to the stack.
So these arrays will now be allocated dynamically into task_struct of current
only when the tracer is activated.
Typical scheme when tracer is activated:
- allocate a return stack for each task in global list.
- fork: allocate the return stack for the newly created task
- exit: free return stack of current
- idle init: same as fork
I chose a default depth of 50. I don't have overruns anymore.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-11-23 09:17:26 +01:00
..
ftrace.c
tracing/function-return-tracer: store return stack into task_struct and allocate it dynamically
2008-11-23 09:17:26 +01:00
Kconfig
tracing/function-return-tracer: support for dynamic ftrace on function return tracer
2008-11-16 07:57:38 +01:00
Makefile
ftrace: rename trace_unlikely.c file
2008-11-12 22:28:40 +01:00
ring_buffer.c
Merge branches 'tracing/ftrace' and 'tracing/urgent' into tracing/core
2008-11-19 10:04:25 +01:00
trace.c
Merge branches 'tracing/profiling', 'tracing/options' and 'tracing/urgent' into tracing/core
2008-11-23 09:10:32 +01:00
trace.h
tracing/function-return-tracer: add the overrun field
2008-11-18 11:11:00 +01:00
trace_boot.c
tracing/ftrace: change the type of the init() callback
2008-11-16 07:55:23 +01:00
trace_branch.c
Merge branches 'tracing/branch-tracer', 'tracing/ftrace', 'tracing/function-return-tracer', 'tracing/tracepoints' and 'tracing/urgent' into tracing/core
2008-11-17 09:36:22 +01:00
trace_functions.c
tracing/ftrace: change the type of the init() callback
2008-11-16 07:55:23 +01:00
trace_functions_return.c
tracing/function-return-tracer: add the overrun field
2008-11-18 11:11:00 +01:00
trace_irqsoff.c
tracing/ftrace: change the type of the init() callback
2008-11-16 07:55:23 +01:00
trace_mmiotrace.c
tracing/ftrace: change the type of the init() callback
2008-11-16 07:55:23 +01:00
trace_nop.c
tracing/ftrace: make nop tracer using tracer flags
2008-11-18 11:10:59 +01:00
trace_sched_switch.c
tracing/ftrace: change the type of the init() callback
2008-11-16 07:55:23 +01:00
trace_sched_wakeup.c
tracing/ftrace: change the type of the init() callback
2008-11-16 07:55:23 +01:00
trace_selftest.c
tracing/ftrace: change the type of the init() callback
2008-11-16 07:55:23 +01:00
trace_selftest_dynamic.c
ftrace: fix dynamic ftrace selftest
2008-05-23 21:13:23 +02:00
trace_stack.c
Merge branches 'tracing/profiling', 'tracing/options' and 'tracing/urgent' into tracing/core
2008-11-23 09:10:32 +01:00
trace_sysprof.c
tracing/ftrace: change the type of the init() callback
2008-11-16 07:55:23 +01:00