Re: [PATCH 06/11] ftrace: add ftrace warn on to disable ftrace

Andrew Morton
2008-10-22T19:13:47Z

On Wed, 22 Oct 2008 14:43:19 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> Add ftrace warn on to disable ftrace as well as report a warning.
>
> Signed-off-by: Steven Rostedt <srostedt@redhat.com>
> ---
> kernel/trace/ftrace.c | 29 ++++++++++++++++++++++-------
> 1 file changed, 22 insertions(+), 7 deletions(-)
>
> Index: linux-compile.git/kernel/trace/ftrace.c
> ===================================================================
> --- linux-compile.git.orig/kernel/trace/ftrace.c 2008-10-22 13:17:29.000000000 -0400
> +++ linux-compile.git/kernel/trace/ftrace.c 2008-10-22 13:20:11.000000000 -0400
> @@ -32,6 +32,24 @@
>
> #include "trace.h"
>
> +#define FTRACE_WARN_ON(cond) \
> + do { \
> + if (unlikely(cond)) { \
> + WARN_ON(1); \
> + ftrace_kill(); \
> + } \
> + } while (0)

This could be coded as

if (WARN_ON(cond))
ftrace_kill();

> +#define FTRACE_WARN_ON_ONCE(cond) \
> + do { \
> + static int once; \
> + if (unlikely(cond) && !once) { \
> + once++; \
> + WARN_ON(1); \
> + ftrace_kill(); \
> + } \
> + } while (0)

if (WARN_ON_ONCE(cond))
ftrace_kill();