summaryrefslogtreecommitdiffstats
path: root/arch/microblaze/kernel/microblaze_ksyms.c
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2009-11-16 09:40:14 +0100
committerMichal Simek <monstr@monstr.eu>2009-12-14 08:40:09 +0100
commit2fd7c761a24c28e83d7194b4b4a099451126a503 (patch)
treec8647ae1bc4519649e35e46b231f3f2af77f9a76 /arch/microblaze/kernel/microblaze_ksyms.c
parenta3cd613b2e775eb59816c2c7c49c038d54917208 (diff)
downloadlinux-2fd7c761a24c28e83d7194b4b4a099451126a503.tar.bz2
microblaze: ftrace: add static function tracer
If -pg of gcc is enabled with CONFIG_FUNCTION_TRACER=y. a calling to _mcount will be inserted into each kernel function. so, there is a possibility to trace the kernel functions in _mcount. This patch add the specific _mcount support for static function tracing. by default, ftrace_trace_function is initialized as ftrace_stub(an empty function), so, the default _mcount will introduce very little overhead. after enabling ftrace in user-space, it will jump to a real tracing function and do static function tracing for us. Commit message from Wu Zhangjin <wuzhangjin@gmail.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze/kernel/microblaze_ksyms.c')
-rw-r--r--arch/microblaze/kernel/microblaze_ksyms.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/microblaze/kernel/microblaze_ksyms.c b/arch/microblaze/kernel/microblaze_ksyms.c
index 59ff20e33e0c..bc4dcb7d3861 100644
--- a/arch/microblaze/kernel/microblaze_ksyms.c
+++ b/arch/microblaze/kernel/microblaze_ksyms.c
@@ -18,6 +18,7 @@
#include <linux/io.h>
#include <asm/page.h>
#include <asm/system.h>
+#include <linux/ftrace.h>
#include <linux/uaccess.h>
/*
@@ -47,3 +48,7 @@ extern void __umodsi3(void);
EXPORT_SYMBOL(__umodsi3);
extern char *_ebss;
EXPORT_SYMBOL_GPL(_ebss);
+#ifdef CONFIG_FUNCTION_TRACER
+extern void _mcount(void);
+EXPORT_SYMBOL(_mcount);
+#endif