From: "Steven Rostedt (Red Hat)" <[email protected]>
ftrace_stop() is going away as it disables parts of function tracing
that affects users that should not be affected. But ftrace_graph_stop()
is built on ftrace_stop(). Here's another example of killing all of
function tracing because something went wrong with function graph
tracing.
Instead of disabling all users of function tracing on function graph
error, disable only function graph tracing. To do this, the arch code
must call ftrace_graph_is_dead() before it implements function graph.
Cc: Michal Simek <[email protected]>
Signed-off-by: Steven Rostedt <[email protected]>
---
arch/microblaze/kernel/ftrace.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/microblaze/kernel/ftrace.c b/arch/microblaze/kernel/ftrace.c
index bbcd2533766c..fc7b48a52cd5 100644
--- a/arch/microblaze/kernel/ftrace.c
+++ b/arch/microblaze/kernel/ftrace.c
@@ -27,6 +27,9 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
unsigned long return_hooker = (unsigned long)
&return_to_handler;
+ if (unlikely(ftrace_graph_is_dead()))
+ return;
+
if (unlikely(atomic_read(¤t->tracing_graph_pause)))
return;
--
2.0.0
Michal,
Can you give me your Acked-by on this and patch 22? I'm still waiting
of a few arch maintainers before I can push these up to my for-next
branch.
-- Steve
On Thu, 26 Jun 2014 12:52:27 -0400
Steven Rostedt <[email protected]> wrote:
> From: "Steven Rostedt (Red Hat)" <[email protected]>
>
> ftrace_stop() is going away as it disables parts of function tracing
> that affects users that should not be affected. But ftrace_graph_stop()
> is built on ftrace_stop(). Here's another example of killing all of
> function tracing because something went wrong with function graph
> tracing.
>
> Instead of disabling all users of function tracing on function graph
> error, disable only function graph tracing. To do this, the arch code
> must call ftrace_graph_is_dead() before it implements function graph.
>
> Cc: Michal Simek <[email protected]>
> Signed-off-by: Steven Rostedt <[email protected]>
> ---
> arch/microblaze/kernel/ftrace.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/arch/microblaze/kernel/ftrace.c b/arch/microblaze/kernel/ftrace.c
> index bbcd2533766c..fc7b48a52cd5 100644
> --- a/arch/microblaze/kernel/ftrace.c
> +++ b/arch/microblaze/kernel/ftrace.c
> @@ -27,6 +27,9 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
> unsigned long return_hooker = (unsigned long)
> &return_to_handler;
>
> + if (unlikely(ftrace_graph_is_dead()))
> + return;
> +
> if (unlikely(atomic_read(¤t->tracing_graph_pause)))
> return;
>
Michal,
Can you ack this please?
-- Steve
On Thu, 26 Jun 2014 12:52:27 -0400
Steven Rostedt <[email protected]> wrote:
> From: "Steven Rostedt (Red Hat)" <[email protected]>
>
> ftrace_stop() is going away as it disables parts of function tracing
> that affects users that should not be affected. But ftrace_graph_stop()
> is built on ftrace_stop(). Here's another example of killing all of
> function tracing because something went wrong with function graph
> tracing.
>
> Instead of disabling all users of function tracing on function graph
> error, disable only function graph tracing. To do this, the arch code
> must call ftrace_graph_is_dead() before it implements function graph.
>
> Cc: Michal Simek <[email protected]>
> Signed-off-by: Steven Rostedt <[email protected]>
> ---
> arch/microblaze/kernel/ftrace.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/arch/microblaze/kernel/ftrace.c b/arch/microblaze/kernel/ftrace.c
> index bbcd2533766c..fc7b48a52cd5 100644
> --- a/arch/microblaze/kernel/ftrace.c
> +++ b/arch/microblaze/kernel/ftrace.c
> @@ -27,6 +27,9 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
> unsigned long return_hooker = (unsigned long)
> &return_to_handler;
>
> + if (unlikely(ftrace_graph_is_dead()))
> + return;
> +
> if (unlikely(atomic_read(¤t->tracing_graph_pause)))
> return;
>
Hi Steve,
On 07/09/2014 04:03 PM, Steven Rostedt wrote:
> Michal,
>
> Can you ack this please?
>
> -- Steve
>
>
> On Thu, 26 Jun 2014 12:52:27 -0400
> Steven Rostedt <[email protected]> wrote:
>
>> From: "Steven Rostedt (Red Hat)" <[email protected]>
>>
>> ftrace_stop() is going away as it disables parts of function tracing
>> that affects users that should not be affected. But ftrace_graph_stop()
>> is built on ftrace_stop(). Here's another example of killing all of
>> function tracing because something went wrong with function graph
>> tracing.
>>
>> Instead of disabling all users of function tracing on function graph
>> error, disable only function graph tracing. To do this, the arch code
>> must call ftrace_graph_is_dead() before it implements function graph.
>>
>> Cc: Michal Simek <[email protected]>
>> Signed-off-by: Steven Rostedt <[email protected]>
>> ---
>> arch/microblaze/kernel/ftrace.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/arch/microblaze/kernel/ftrace.c b/arch/microblaze/kernel/ftrace.c
>> index bbcd2533766c..fc7b48a52cd5 100644
>> --- a/arch/microblaze/kernel/ftrace.c
>> +++ b/arch/microblaze/kernel/ftrace.c
>> @@ -27,6 +27,9 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
>> unsigned long return_hooker = (unsigned long)
>> &return_to_handler;
>>
>> + if (unlikely(ftrace_graph_is_dead()))
>> + return;
>> +
>> if (unlikely(atomic_read(¤t->tracing_graph_pause)))
>> return;
>>
>
sorry for delay. Here is mine.
Tested-by: Michal Simek <[email protected]>
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: http://www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform