All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Daney <ddaney.cavm@gmail.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Al Cooper <alcooperx@gmail.com>,
	ralf@linux-mips.org, linux-mips@linux-mips.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mips: function tracer: Fix broken function tracing
Date: Tue, 15 Jan 2013 13:34:48 -0800	[thread overview]
Message-ID: <50F5CB78.20800@gmail.com> (raw)
In-Reply-To: <1358284049.4068.21.camel@gandalf.local.home>

On 01/15/2013 01:07 PM, Steven Rostedt wrote:
> On Tue, 2013-01-15 at 09:55 -0800, David Daney wrote:
>
>>> There's nothing that states what the ftrace caller must be. We can have
>>> it do a proper stack update. That is, only at boot up do we need to
>>> handle the defined mcount. After that, those instructions are just place
>>> holders for our own algorithms. If the addiu was needed for the defined
>>> mcount, there's no reason to keep it for our own ftrace_caller.
>>>
>>> Would that work?
>>
>> ... either do as you suggest and dynamically change the ABI of the
>> target function.
>
> We already change the ABI. We have it call ftrace_caller instead of
> mcount.
>
> BTW, I've just compiled with gcc 4.6.3 against mips, and I don't see the
> issue. I have:
>
> 0000000000000000 <account_kernel_stack>:
>         0:       03e0082d        move    at,ra
>         4:       0c000000        jal     0 <account_kernel_stack>
>                          4: R_MIPS_26    _mcount
>                          4: R_MIPS_NONE  *ABS*
>                          4: R_MIPS_NONE  *ABS*
>         8:       0000602d        move    t0,zero
>         c:       2402000d        li      v0,13
>        10:       3c030000        lui     v1,0x0
>                          10: R_MIPS_HI16 mem_section
>                          10: R_MIPS_NONE *ABS*
>                          10: R_MIPS_NONE *ABS*
>        14:       000216fc        dsll32  v0,v0,0x1b
>        18:       64630000        daddiu  v1,v1,0
>
> Is it dependent on the config?

Yes.

You need to select a 32-bit kernel (which in turn may require selecting 
a board type that also supports it).

The ABI is different for 32-bit and 64-bit _mcount.

David Daney


>
>>
>> Or add support to GCC for a better tracing ABI (as I already said we did
>> for mips64).
>
> I wouldn't waste time changing gcc for this. If you're going to change
> gcc than please implement the -mfentry option. Look at x86_64 to
> understand this more.

A good point.  But I don't really plan on doing any work related to 
32-bit mips things at this point, so any such change would have to be 
done by someone else.

David Daney

  reply	other threads:[~2013-01-15 21:35 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-11 14:33 [PATCH] mips: function tracer: Fix broken function tracing Al Cooper
2013-01-11 17:01 ` David Daney
2013-01-14 21:10   ` Alan Cooper
2013-01-14 22:12     ` David Daney
2013-01-15  0:13       ` Alan Cooper
2013-01-15  0:36         ` David Daney
2013-01-15  3:40   ` Steven Rostedt
2013-01-15 17:53     ` Alan Cooper
2013-01-15 21:08       ` Steven Rostedt
2013-01-15 17:55     ` David Daney
2013-01-15 21:07       ` Steven Rostedt
2013-01-15 21:34         ` David Daney [this message]
2013-01-15 22:42           ` Alan Cooper

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=50F5CB78.20800@gmail.com \
    --to=ddaney.cavm@gmail.com \
    --cc=alcooperx@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=ralf@linux-mips.org \
    --cc=rostedt@goodmis.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 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.