diff options
author | Lai Jiangshan <laijs@cn.fujitsu.com> | 2009-03-06 11:21:48 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-03-06 11:59:11 -0500 |
commit | 1ba28e02a18cbdbea123836f6c98efb09cbf59ec (patch) | |
tree | 41df06a06c702152902ffd7250f284a6efe9b0da /kernel/trace/trace.c | |
parent | 1427cdf0592368bdec57276edaf714040ee8744f (diff) |
tracing: add trace_bprintk()
Impact: add a generic printk() for tracing, like trace_printk()
trace_bprintk() uses the infrastructure to record events on ring_buffer.
[ fweisbec@gmail.com: ported to latest -tip, made it work if
!CONFIG_MODULES, never free the format strings from modules
because we can't keep track of them and conditionnaly create
the ftrace format strings section (reported by Steven Rostedt) ]
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <1236356510-8381-4-git-send-email-fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/trace/trace.c')
-rw-r--r-- | kernel/trace/trace.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index ff53509e19f8..46b3cd7a5752 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
@@ -3848,6 +3848,21 @@ out: | |||
3848 | } | 3848 | } |
3849 | EXPORT_SYMBOL_GPL(trace_vbprintk); | 3849 | EXPORT_SYMBOL_GPL(trace_vbprintk); |
3850 | 3850 | ||
3851 | int __trace_bprintk(unsigned long ip, const char *fmt, ...) | ||
3852 | { | ||
3853 | int ret; | ||
3854 | va_list ap; | ||
3855 | |||
3856 | if (!fmt) | ||
3857 | return 0; | ||
3858 | |||
3859 | va_start(ap, fmt); | ||
3860 | ret = trace_vbprintk(ip, fmt, ap); | ||
3861 | va_end(ap); | ||
3862 | return ret; | ||
3863 | } | ||
3864 | EXPORT_SYMBOL_GPL(__trace_bprintk); | ||
3865 | |||
3851 | static int trace_panic_handler(struct notifier_block *this, | 3866 | static int trace_panic_handler(struct notifier_block *this, |
3852 | unsigned long event, void *unused) | 3867 | unsigned long event, void *unused) |
3853 | { | 3868 | { |