]> git.baikalelectronics.ru Git - kernel.git/commit
tracing/function-graph-tracer: introduce __notrace_funcgraph to filter special functions
authorFrederic Weisbecker <fweisbec@gmail.com>
Sat, 6 Dec 2008 02:40:00 +0000 (03:40 +0100)
committerIngo Molnar <mingo@elte.hu>
Mon, 8 Dec 2008 14:11:44 +0000 (15:11 +0100)
commit31774fc6f211268b3215be166943f519eb80af73
tree02b5ec86d2fe45d6935d63913b997989f9339bf4
parent21f798b2b1060075747ea4996538ec6272ed536d
tracing/function-graph-tracer: introduce __notrace_funcgraph to filter special functions

Impact: trace more functions

When the function graph tracer is configured, three more files are not
traced to prevent only four functions to be traced. And this impacts the
normal function tracer too.

arch/x86/kernel/process_64/32.c:

I had crashes when I let this file traced. After some debugging, I saw
that the "current" task point was changed inside__swtich_to(), ie:
"write_pda(pcurrent, next_p);" inside process_64.c Since the tracer store
the original return address of the function inside current, we had
crashes. Only __switch_to() has to be excluded from tracing.

kernel/module.c and kernel/extable.c:

Because of a function used internally by the function graph tracer:
__kernel_text_address()

To let the other functions inside these files to be traced, this patch
introduces the __notrace_funcgraph function prefix which is __notrace if
function graph tracer is configured and nothing if not.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/Makefile
arch/x86/kernel/process_32.c
arch/x86/kernel/process_64.c
include/linux/ftrace.h
kernel/Makefile
kernel/extable.c
kernel/module.c