From: Tim Bird <tim.bird@am.sony.com>
To: "Uwe �" <u.kleine-koenig@pengutronix.de>
Cc: linux kernel <linux-kernel@vger.kernel.org>,
Steven Rostedt <rostedt@goodmis.org>, Ingo Molnar <mingo@elte.hu>,
linux-arm-kernel <linux-arm-kernel@lists.arm.linux.org.uk>,
Russell King <rmk@arm.linux.org.uk>,
Frederic Weisbecker <fweisbec@gmail.com>
Subject: Re: [PATCH] Add function graph tracer support for ARM
Date: Fri, 24 Apr 2009 11:00:20 -0700 [thread overview]
Message-ID: <49F1FE34.9060908@am.sony.com> (raw)
In-Reply-To: <20090424064400.GB9502@pengutronix.de>
Uwe � wrote:
>>>> --- a/arch/arm/kernel/entry-common.S
>>>> +++ b/arch/arm/kernel/entry-common.S
>>>> @@ -135,8 +135,16 @@ ENTRY(mcount)
>>>> adr r0, ftrace_stub
>>>> cmp r0, r2
>>>> bne trace
>>>> +
>>>> +#ifdef CONFIG_FUNCTION_GRAPH_TRACER
>>>> + ldr r1, =ftrace_graph_return
>>>> + ldr r2, [r1]
>>>> + cmp r0, r2 @ if *ftrace_graph_return != ftrace_stub
>>>> + bne ftrace_graph_caller
>>>> +#endif /* CONFIG_FUNCTION_GRAPH_TRACER */
>>>> +
>>>> ldr lr, [fp, #-4] @ restore lr
>>>> - ldmia sp!, {r0-r3, pc}
>>>> + ldmia sp!, {r0-r3, pc} @ return doing nothing
>>> If ftrace_trace_function != ftrace_stub then ftrace_graph_caller isn't
>>> called. Is this correct?
...
> Yes, the comments are as good as the comments for ftrace_trace_function.
> What I meant is that with your code using both ftrace_trace_function and
> ftrace_graph_caller doesn't work, because if ftrace_trace_function !=
> ftrace_stub then the check for ftrace_trace_function is simply skipped.
OK - I understand now. I didn't think of this case, but you
are correct. This has the same behavior as the x86 case.
Whether that's good or not is hard to say. I wouldn't want
to add extra tests (since this is very much a hot path), but
maybe this should be noted somewhere. I'll test to see
how this impacts the user-visible operation of the tracers.
(I assume this means you would have to reset the function
tracer, if it was active, before invoking a function graph
tracer.)
Alternatively, maybe the logic of installing the function graph
tracer should automatically reset the function tracer?
Steve,
Should both a function trace and a function graph tracer
be allowed to be active at the same time? I would think
not, but maybe there's a use case I'm missing.
> And I just noticed something else: There is a 2nd implementation of
> mcount in arch/arm/kernel/entry-common.S for CONFIG_DYNAMIC_FTRACE
> (which is currently not selectable for ARM). Maybe add a note to this
> mcount that it needs fixing for graph tracing when it is revived?
Good catch. I'll put something in.
Thanks!!
-- Tim
=============================
Tim Bird
Architecture Group Chair, CE Linux Forum
Senior Staff Engineer, Sony Corporation of America
=============================
next prev parent reply other threads:[~2009-04-24 18:01 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-23 18:08 [PATCH] Add function graph tracer support for ARM Tim Bird
2009-04-23 18:39 ` Uwe Kleine-König
2009-04-23 21:49 ` Tim Bird
2009-04-23 22:15 ` Frederic Weisbecker
2009-04-23 22:40 ` Tim Bird
2009-04-24 6:44 ` Uwe Kleine-König
2009-04-24 18:00 ` Tim Bird [this message]
2009-04-23 19:20 ` Frederic Weisbecker
2009-04-23 22:33 ` Tim Bird
2009-04-23 23:42 ` Frederic Weisbecker
2009-04-24 6:32 ` Uwe Kleine-König
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49F1FE34.9060908@am.sony.com \
--to=tim.bird@am.sony.com \
--cc=fweisbec@gmail.com \
--cc=linux-arm-kernel@lists.arm.linux.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rmk@arm.linux.org.uk \
--cc=rostedt@goodmis.org \
--cc=u.kleine-koenig@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.