From: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Anton Blanchard <anton@samba.org>,
linuxppc-dev@lists.ozlabs.org,
Michael Ellerman <mpe@ellerman.id.au>,
Nicholas Piggin <npiggin@gmail.com>,
Paul Mackerras <paulus@ozlabs.org>,
sathnaga@linux.vnet.ibm.com
Subject: Re: [PATCH v2 5/5] powerpc64/ftrace: Implement support for ftrace_regs_caller()
Date: Wed, 21 Mar 2018 20:07:32 +0530 [thread overview]
Message-ID: <1521642624.97rikdhoqw.naveen@linux.ibm.com> (raw)
In-Reply-To: <20180321095912.212e0b0d@gandalf.local.home>
Steven Rostedt wrote:
> On Wed, 21 Mar 2018 16:13:22 +0530
> "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> wrote:
>=20
>> int module_finalize_ftrace(struct module *mod, const Elf_Shdr *sechdrs)
>> {
>> mod->arch.toc =3D my_r2(sechdrs, mod);
>> - mod->arch.tramp =3D create_ftrace_stub(sechdrs, mod);
>> + mod->arch.tramp =3D create_ftrace_stub(sechdrs, mod,
>> + (unsigned long)ftrace_caller);
>> +#ifdef CONFIG_DYNAMIC_FTRACE_WITH_REGS
>> + mod->arch.tramp_regs =3D create_ftrace_stub(sechdrs, mod,
>> + (unsigned long)ftrace_regs_caller);
>=20
> So you only reference ftrace_regs_caller if you have
> DYNAMIC_FTRACE_WITH_REGS defined?
Yes.
>=20
>> + if (!mod->arch.tramp_regs)
>> + return -ENOENT;
>> +#endif
>> =20
>> if (!mod->arch.tramp)
>> return -ENOENT;
>=20
>=20
>> diff --git a/arch/powerpc/kernel/trace/ftrace_64_mprofile.S b/arch/power=
pc/kernel/trace/ftrace_64_mprofile.S
>> index 8f2380304ef1..7b81db85f76e 100644
>> --- a/arch/powerpc/kernel/trace/ftrace_64_mprofile.S
>> +++ b/arch/powerpc/kernel/trace/ftrace_64_mprofile.S
>> @@ -20,8 +20,8 @@
>> #ifdef CONFIG_DYNAMIC_FTRACE
>> /*
>> *
>> - * ftrace_caller() is the function that replaces _mcount() when ftrace =
is
>> - * active.
>> + * ftrace_caller()/ftrace_regs_caller() is the function that replaces _=
mcount()
>> + * when ftrace is active.
>> *
>> * We arrive here after a function A calls function B, and we are the t=
race
>> * function for B. When we enter r1 points to A's stack frame, B has no=
t yet
>> @@ -37,7 +37,7 @@
>> * Our job is to save the register state into a struct pt_regs (on the =
stack)
>> * and then arrange for the ftrace function to be called.
>> */
>=20
> Perhaps you want to add:
>=20
> #ifdef CONFIG_DYNAMIC_FTRACE_WITH_REGS
>=20
> here.
I think that will always be set here. ftrace_64_mprofile.S is only built=20
for -mprofile-kernel and we select HAVE_DYNAMIC_FTRACE_WITH_REGS if=20
MPROFILE_KERNEL is enabled. It looks like there is no way to unset just=20
CONFIG_DYNAMIC_FTRACE_WITH_REGS and so, for -mprofile-kernel, we can=20
assume it is always set?
- Naveen
=
next prev parent reply other threads:[~2018-03-21 14:37 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-21 10:43 [PATCH v2 0/5] powerpc/ftrace: Add support for ftrace_modify_call() and a few other fixes Naveen N. Rao
2018-03-21 10:43 ` [PATCH v2 1/5] powerpc64/ftrace: Add a field in paca to disable ftrace in unsafe code paths Naveen N. Rao
2018-03-21 13:46 ` Steven Rostedt
2018-03-21 10:43 ` [PATCH v2 2/5] powerpc64/ftrace: Disable ftrace during kvm guest entry/exit Naveen N. Rao
2018-03-21 10:43 ` [PATCH v2 3/5] powerpc64/module: Tighten detection of mcount call sites with -mprofile-kernel Naveen N. Rao
2018-03-21 10:43 ` [PATCH v2 4/5] powerpc64/ftrace: Use the generic version of ftrace_replace_code() Naveen N. Rao
2018-03-21 10:43 ` [PATCH v2 5/5] powerpc64/ftrace: Implement support for ftrace_regs_caller() Naveen N. Rao
2018-03-21 13:59 ` Steven Rostedt
2018-03-21 14:37 ` Naveen N. Rao [this message]
2018-03-21 15:22 ` Steven Rostedt
2018-03-21 15:29 ` Naveen N. Rao
2018-03-21 15:31 ` Steven Rostedt
2018-03-21 19:10 ` Naveen N. Rao
[not found] ` <b6aff6c7194bd7bb97828db63ca0c82ee4598918.1521627906.git.naveen.n.rao__49352.2364100956$1521630977$gmane$org@linux.vnet.ibm.com>
[not found] ` <b6aff6c7194bd7bb97828db63ca0c82ee4598918.1521627906.git.naveen.n.rao__49352. 2364100956$1521630977$gmane$org@linux.vnet.ibm.com>
2018-03-22 7:53 ` [PATCH v2 1/5] powerpc64/ftrace: Add a field in paca to disable ftrace in unsafe code paths Naveen N. Rao
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=1521642624.97rikdhoqw.naveen@linux.ibm.com \
--to=naveen.n.rao@linux.vnet.ibm.com \
--cc=anton@samba.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=npiggin@gmail.com \
--cc=paulus@ozlabs.org \
--cc=rostedt@goodmis.org \
--cc=sathnaga@linux.vnet.ibm.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;
as well as URLs for NNTP newsgroup(s).