public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Shaohua Li <shaohua.li@intel.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [PATCH 5/5] IA64 dynamic ftrace support
Date: Thu, 25 Dec 2008 01:08:29 +0000	[thread overview]
Message-ID: <20081225010829.GA17283@sli10-desk.sh.intel.com> (raw)
In-Reply-To: <1230012500.10933.102.camel@sli10-desk.sh.intel.com>

On Thu, Dec 25, 2008 at 05:50:50AM +0800, Keith Owens wrote:
> On Wed, 24 Dec 2008 08:29:05 -0500, 
> Steven Rostedt <srostedt@redhat.com> wrote:
> >Yes I understand that the module and kernel code is set up differently,
> >PPC is pretty much the same in this aspect. I'm asking if it is easy to
> >change a call from the module to kernel core to another function in
> >kernel core?
> >
> >Question: if I have a call from the module to _mcount, how much has to
> >change in the set up of the registers to make it call ftrace_call
> >instead?  Perhaps we could link in a call to ftrace_call via the tricks
> >in recordmcount.pl to get the info needed to make that change?
> 
> The IA64 kernel uses the same gp register throughout, it is compiled
> with -mconstant-gp.  So changing the target address from one kernel
> function to another only requires changing the destination address in
> the PLT stub, no other registers are affected.
yes, for kernel, this is simple. Just changing the target address is ok,
and the change is atomic, as it's a 64-bit write. For module, it's not
simple. Module has different gp register against kernel. In a module,
_mcount must save its gp first and then jump to kernel. That's why we
can't directly use a jump.

I'm considering link some code to ftrace_call in recordmcount.pl, but
recordmocunt.pl is called for each file. If a module has multiple files,
there will be some duplicate code. Another issue how can we find the
code's address when ftrace to convert code to nop.

Thanks,
Shaohua

  parent reply	other threads:[~2008-12-25  1:08 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-23  6:08 [PATCH 5/5] IA64 dynamic ftrace support Shaohua Li
2008-12-23 14:35 ` Steven Rostedt
2008-12-24  0:54 ` Shaohua Li
2008-12-24  1:00 ` Steven Rostedt
2008-12-24  8:08 ` Shaohua Li
2008-12-24 13:29 ` Steven Rostedt
2008-12-24 21:50 ` Keith Owens
2008-12-25  1:08 ` Shaohua Li [this message]
2008-12-25  3:54 ` Steven Rostedt
2008-12-25  4:01 ` Shaohua Li
2008-12-26  2:42 ` Shaohua Li
2008-12-31  9:11 ` Shaohua Li
2009-01-06  0:42 ` Luck, Tony
2009-01-08  8:05 ` Shaohua Li
2009-01-08 17:08 ` Steven Rostedt
2009-01-08 20:25 ` Luck, Tony
2009-01-08 22:24 ` Luck, Tony
2009-01-09  2:42 ` Shaohua Li

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=20081225010829.GA17283@sli10-desk.sh.intel.com \
    --to=shaohua.li@intel.com \
    --cc=linux-ia64@vger.kernel.org \
    /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