From: Sergei Shtylyov <sshtylyov@mvista.com>
To: Wu Zhangjin <wuzhangjin@gmail.com>
Cc: Ralf Baechle <ralf@linux-mips.org>,
Steven Rostedt <srostedt@redhat.com>,
linux-mips@linux-mips.org
Subject: Re: [PATCH 5/5] tracing, MIPS: Fix set_graph_function of function graph tracer
Date: Thu, 20 Jan 2011 14:03:19 +0300 [thread overview]
Message-ID: <4D381677.3000502@mvista.com> (raw)
In-Reply-To: <9967898043e58db7b311d35695e9422e67cef5f6.1295464855.git.wuzhangjin@gmail.com>
Hello.
On 19-01-2011 22:28, Wu Zhangjin wrote:
> trace.func should be set to the recorded ip of the mcount calling site
> in the __mcount_loc section to filter the function entries configured
> through the tracing/set_graph_function interface, but before, this is
> set to the self_ra(the return address of mcount), which has made
> set_graph_function not work as expects.
Expected?
> This fixes it via calculating the right recorded ip in the __mcount_loc
> section and assign it to trace.func.
> Reported-by: Zhiping Zhong<xzhong86@163.com>
> Signed-off-by: Wu Zhangjin<wuzhangjin@gmail.com>
> ---
> arch/mips/kernel/ftrace.c | 11 +++++++++--
> 1 files changed, 9 insertions(+), 2 deletions(-)
> diff --git a/arch/mips/kernel/ftrace.c b/arch/mips/kernel/ftrace.c
> index bc91e4a..62775d7 100644
> --- a/arch/mips/kernel/ftrace.c
> +++ b/arch/mips/kernel/ftrace.c
[...]
> @@ -304,7 +304,14 @@ void prepare_ftrace_return(unsigned long *parent_ra_addr, unsigned long self_ra,
> return;
> }
>
> - trace.func = self_ra;
> + /*
> + * Get the recorded ip of the current mcount calling site in the
> + * __mcount_loc section, which will be used to filter the function
> + * entries configured through the tracing/set_graph_function interface.
> + */
> +
> + insns = (in_kernel_space(self_ra)) ? 2 : (MCOUNT_OFFSET_INSNS + 1);
Unneeded parens.
> + trace.func = self_ra - (MCOUNT_INSN_SIZE * insns);
Here too.
WBR, Sergei
next prev parent reply other threads:[~2011-01-20 11:04 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-19 19:28 [PATCH 0/5] Misc updates for Ftrace of MIPS Wu Zhangjin
2011-01-19 19:28 ` [PATCH 1/5] tracing, MIPS: Speed up function graph tracer Wu Zhangjin
2011-01-24 13:50 ` Ralf Baechle
[not found] ` <cover.1295464564.git.wuzhangjin@gmail.com>
2011-01-19 19:28 ` [PATCH 1/5] tracing, MIPS: reduce one instruction for " Wu Zhangjin
2011-01-19 19:30 ` wu zhangjin
2011-01-19 19:28 ` [PATCH 2/5] tracing, MIPS: replace in_module() with a generic in_kernel_space() Wu Zhangjin
2011-01-19 19:30 ` wu zhangjin
2011-01-19 19:28 ` [PATCH 2/5] tracing, MIPS: Substitute in_kernel_space() for in_module() Wu Zhangjin
2011-01-24 13:57 ` Ralf Baechle
2011-01-26 12:36 ` wu zhangjin
2011-01-19 19:28 ` [PATCH 3/5] tracing, MIPS: Clean up prepare_ftrace_return() Wu Zhangjin
2011-01-24 14:21 ` Ralf Baechle
2011-01-19 19:28 ` [PATCH 4/5] tracing, MIPS: Clean up ftrace_make_nop() Wu Zhangjin
2011-01-19 19:28 ` [PATCH 5/5] tracing, MIPS: Fix set_graph_function of function graph tracer Wu Zhangjin
2011-01-20 11:03 ` Sergei Shtylyov [this message]
2011-01-20 12:46 ` wu zhangjin
2011-01-20 14:04 ` Steven Rostedt
2011-01-21 9:09 ` wu zhangjin
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=4D381677.3000502@mvista.com \
--to=sshtylyov@mvista.com \
--cc=linux-mips@linux-mips.org \
--cc=ralf@linux-mips.org \
--cc=srostedt@redhat.com \
--cc=wuzhangjin@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox