aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ftrace.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-03-05 04:28:45 -0500
committerIngo Molnar <mingo@elte.hu>2009-03-05 04:28:45 -0500
commit526211bc58c4b3265352801c5a7f469af5c34711 (patch)
tree5bed7d4752ecec0ae349821d3600c2529c5219c1 /include/linux/ftrace.h
parent5e1607a00bd082972629d3d68c95c8bcf902b55a (diff)
tracing: move utility functions from ftrace.h to kernel.h
Make common utility functions such as trace_printk() and tracing_start()/tracing_stop() generally available to kernel code. Cc: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/ftrace.h')
-rw-r--r--include/linux/ftrace.h58
1 files changed, 2 insertions, 56 deletions
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
index fbb9c364e166..5b64303ec9f2 100644
--- a/include/linux/ftrace.h
+++ b/include/linux/ftrace.h
@@ -318,62 +318,6 @@ static inline void __ftrace_enabled_restore(int enabled)
318# define trace_preempt_off(a0, a1) do { } while (0) 318# define trace_preempt_off(a0, a1) do { } while (0)
319#endif 319#endif
320 320
321#ifdef CONFIG_TRACING
322extern int ftrace_dump_on_oops;
323
324extern void tracing_start(void);
325extern void tracing_stop(void);
326extern void ftrace_off_permanent(void);
327
328extern void
329ftrace_special(unsigned long arg1, unsigned long arg2, unsigned long arg3);
330
331/**
332 * trace_printk - printf formatting in the ftrace buffer
333 * @fmt: the printf format for printing
334 *
335 * Note: __trace_printk is an internal function for trace_printk and
336 * the @ip is passed in via the trace_printk macro.
337 *
338 * This function allows a kernel developer to debug fast path sections
339 * that printk is not appropriate for. By scattering in various
340 * printk like tracing in the code, a developer can quickly see
341 * where problems are occurring.
342 *
343 * This is intended as a debugging tool for the developer only.
344 * Please refrain from leaving trace_printks scattered around in
345 * your code.
346 */
347# define trace_printk(fmt...) __trace_printk(_THIS_IP_, fmt)
348extern int
349__trace_printk(unsigned long ip, const char *fmt, ...)
350 __attribute__ ((format (printf, 2, 3)));
351# define ftrace_vprintk(fmt, ap) __trace_printk(_THIS_IP_, fmt, ap)
352extern int
353__ftrace_vprintk(unsigned long ip, const char *fmt, va_list ap);
354extern void ftrace_dump(void);
355#else
356static inline void
357ftrace_special(unsigned long arg1, unsigned long arg2, unsigned long arg3) { }
358static inline int
359trace_printk(const char *fmt, ...) __attribute__ ((format (printf, 1, 2)));
360
361static inline void tracing_start(void) { }
362static inline void tracing_stop(void) { }
363static inline void ftrace_off_permanent(void) { }
364static inline int
365trace_printk(const char *fmt, ...)
366{
367 return 0;
368}
369static inline int
370ftrace_vprintk(const char *fmt, va_list ap)
371{
372 return 0;
373}
374static inline void ftrace_dump(void) { }
375#endif
376
377#ifdef CONFIG_FTRACE_MCOUNT_RECORD 321#ifdef CONFIG_FTRACE_MCOUNT_RECORD
378extern void ftrace_init(void); 322extern void ftrace_init(void);
379extern void ftrace_init_module(struct module *mod, 323extern void ftrace_init_module(struct module *mod,
@@ -542,6 +486,8 @@ static inline int test_tsk_trace_graph(struct task_struct *tsk)
542 return tsk->trace & TSK_TRACE_FL_GRAPH; 486 return tsk->trace & TSK_TRACE_FL_GRAPH;
543} 487}
544 488
489extern int ftrace_dump_on_oops;
490
545#endif /* CONFIG_TRACING */ 491#endif /* CONFIG_TRACING */
546 492
547 493