ftrace: add ftrace_graph_stop()
authorSteven Rostedt <srostedt@redhat.com>
Wed, 3 Dec 2008 04:50:02 +0000 (23:50 -0500)
committerIngo Molnar <mingo@elte.hu>
Wed, 3 Dec 2008 07:56:23 +0000 (08:56 +0100)
commit14a866c567e040ccf6240d68b083dd1dbbde63e6
tree4e8d62ecc345d44e7cd45f973ffb931070637532
parentbb4304c71c97bf727ec43cd2f195c2c237c27fd3
ftrace: add ftrace_graph_stop()

Impact: new ftrace_graph_stop function

While developing more features of function graph, I hit a bug that
caused the WARN_ON to trigger in the prepare_ftrace_return function.
Well, it was hard for me to find out that was happening because the
bug would not print, it would just cause a hard lockup or reboot.
The reason is that it is not safe to call printk from this function.

Looking further, I also found that it calls unregister_ftrace_graph,
which grabs a mutex and calls kstop machine. This would definitely
lock the box up if it were to trigger.

This patch adds a fast and safe ftrace_graph_stop() which will
stop the function tracer. Then it is safe to call the WARN ON.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/ftrace.c
include/linux/ftrace.h
kernel/trace/ftrace.c