linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
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

=

  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).