From: Steven Rostedt <rostedt@goodmis.org>
To: Andi Kleen <andi@firstfloor.org>
Cc: Ingo Molnar <mingo@elte.hu>,
Linus Torvalds <torvalds@linux-foundation.org>,
Richard Guenther <richard.guenther@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
LKML <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
feng.tang@intel.com, Fr??d??ric Weisbecker <fweisbec@gmail.com>,
Peter Zijlstra <peterz@infradead.org>,
jakub@redhat.com, gcc@gcc.gnu.org
Subject: Re: [PATCH] gcc mcount-nofp was Re: BUG: GCC-4.4.x changes the function frame on some functions
Date: Fri, 20 Nov 2009 07:34:19 -0500 [thread overview]
Message-ID: <1258720459.22249.1018.camel@gandalf.stny.rr.com> (raw)
In-Reply-To: <87iqd54iz5.fsf_-_@basil.nowhere.org>
On Fri, 2009-11-20 at 10:57 +0100, Andi Kleen wrote:
> Steven Rostedt <rostedt@goodmis.org> writes:
> >
> > And frame pointers do add a little overhead as well. Too bad the mcount
> > ABI wasn't something like this:
> >
> >
> > <function>:
> > call mcount
> > [...]
> >
> > This way, the function address for mcount would have been (%esp) and the
> > parent address would be 4(%esp). Mcount would work without frame
> > pointers and this whole mess would also become moot.
>
> I did a patch to do this in x86 gcc some time ago. The motivation
> was indeed the frame pointer overhead on Atom with tracing.
>
Yes, I remember you talking about this but I don't remember how far it
went.
> Unfortunately it also requires glibc changes (I did those too). For
> compatibility and catching mistakes the new function was called
> __mcount_nofp.
Actually, could you change the name? I really hate the "mcount" name, it
is legacy and with a new feature, it should be abandoned. Something like
"__fentry__" would be nicer.
>
> I haven't tried it with current gcc and last time I missed the
> gcc feature merge window with this.
>
> But perhaps you find it useful. Of course it would need more
> kernel changes to probe for the new option and handle it.
>
> Here's the old patch. I haven't retested it with a current
> gcc version, but I think it still applies at least.
>
> If there's interest I can polish it up and submit formally.
I would definitely be interested, and I would also be willing to test
it.
Thanks!
-- Steve
next prev parent reply other threads:[~2009-11-20 12:34 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200911172214.nAHMEBh2023787@imap1.linux-foundation.org>
2009-11-18 19:30 ` [patch for 2.6.32? 1/3] hrtimers: remove the "timer_stats_active" check when setting the start info Thomas Gleixner
2009-11-18 20:24 ` [tip:timers/urgent] hrtimer: Fix /proc/timer_list regression tip-bot for Feng Tang
2009-11-19 7:20 ` Ingo Molnar
2009-11-19 10:05 ` Thomas Gleixner
2009-11-19 14:30 ` BUG: function graph tracer function frame assumptions Thomas Gleixner
2009-11-19 15:37 ` BUG: GCC-4.4.x changes the function frame on some functions Thomas Gleixner
2009-11-19 15:44 ` Andrew Haley
2009-11-19 15:54 ` H. Peter Anvin
2009-11-19 15:57 ` Richard Guenther
2009-11-19 16:02 ` Steven Rostedt
2009-11-19 16:11 ` H. Peter Anvin
2009-11-19 16:19 ` Frederic Weisbecker
2009-11-19 16:06 ` Thomas Gleixner
2009-11-19 16:17 ` Andrew Haley
2009-11-19 16:43 ` Thomas Gleixner
2009-11-19 16:12 ` Steven Rostedt
2009-11-19 15:45 ` H. Peter Anvin
2009-11-19 15:49 ` Richard Guenther
2009-11-19 15:52 ` Richard Guenther
2009-11-19 17:37 ` Andi Kleen
2009-11-19 17:39 ` Linus Torvalds
2009-11-19 17:51 ` Thomas Gleixner
2009-11-19 17:59 ` Steven Rostedt
2009-11-19 18:03 ` Richard Guenther
2009-11-19 18:22 ` Andrew Haley
2009-11-19 18:41 ` Linus Torvalds
2009-11-19 18:43 ` Linus Torvalds
2009-11-19 18:54 ` Linus Torvalds
2009-11-19 19:01 ` Thomas Gleixner
2009-11-23 9:16 ` Jakub Jelinek
2009-11-23 9:51 ` Thomas Gleixner
2009-11-19 19:10 ` David Daney
2009-11-19 19:28 ` Steven Rostedt
2009-11-19 19:46 ` Frederic Weisbecker
2009-11-19 19:54 ` Kai Tietz
2009-11-19 20:05 ` Frederic Weisbecker
2009-11-19 20:05 ` Steven Rostedt
2009-11-19 20:17 ` Steven Rostedt
2009-11-19 20:28 ` Frederic Weisbecker
2009-11-19 20:25 ` Frederic Weisbecker
2009-11-19 20:36 ` Linus Torvalds
2009-11-19 20:44 ` Steven Rostedt
2009-11-19 19:50 ` H. Peter Anvin
2009-11-19 20:06 ` Linus Torvalds
2009-11-19 21:12 ` Jeff Law
2009-11-19 20:10 ` Steven Rostedt
2009-11-19 21:05 ` Jeff Law
2009-11-19 18:31 ` Thomas Gleixner
2009-11-19 18:38 ` Linus Torvalds
2009-11-19 18:47 ` Ingo Molnar
2009-11-19 19:06 ` Steven Rostedt
2009-11-19 19:50 ` Ingo Molnar
2009-11-20 9:57 ` [PATCH] gcc mcount-nofp was " Andi Kleen
2009-11-20 12:34 ` Steven Rostedt [this message]
2009-11-20 19:06 ` H. Peter Anvin
2009-11-19 20:36 ` Thomas Gleixner
2009-11-19 18:20 ` Andrew Haley
2009-11-19 18:33 ` Steven Rostedt
2009-11-19 18:36 ` Andrew Pinski
2009-11-19 18:36 ` Andrew Haley
2009-11-19 18:37 ` H. Peter Anvin
2009-11-19 18:39 ` Thomas Gleixner
2009-11-20 5:23 ` [PATCH][GIT PULL][v2.6.32] tracing/x86: Add check to detect GCC messing with mcount prologue Steven Rostedt
2009-11-20 5:32 ` Steven Rostedt
2009-11-20 17:00 ` Steven Rostedt
2009-11-20 17:13 ` H. Peter Anvin
2009-11-20 19:35 ` Andrew Haley
2009-11-20 19:46 ` Steven Rostedt
2009-11-20 19:49 ` H. Peter Anvin
2009-11-22 9:38 ` H.J. Lu
2009-11-22 17:20 ` Andrew Haley
2009-11-22 23:30 ` H.J. Lu
2009-11-24 14:43 ` Andrew Haley
2009-11-24 14:55 ` Thomas Gleixner
2009-11-24 15:06 ` Jakub Jelinek
2009-11-24 15:32 ` Andrew Haley
2009-11-24 15:36 ` Jakub Jelinek
2009-11-24 15:46 ` Andrew Haley
2009-11-24 16:38 ` H. Peter Anvin
2009-11-24 17:12 ` Andrew Haley
2009-11-24 17:30 ` Steven Rostedt
2009-11-25 20:05 ` H. Peter Anvin
2009-11-24 19:55 ` H. Peter Anvin
2009-11-25 15:29 ` Thomas Gleixner
2009-11-25 15:44 ` Ingo Molnar
2009-11-25 15:53 ` Thomas Gleixner
2009-11-25 16:25 ` Ingo Molnar
2009-11-25 16:44 ` Jakub Jelinek
2009-11-25 20:12 ` H. Peter Anvin
2009-11-25 21:00 ` Andrew Haley
2009-11-22 9:05 ` Ingo Molnar
2009-11-20 10:30 ` [tip:timers/urgent] hrtimer: Fix /proc/timer_list regression tip-bot for Feng Tang
2009-11-20 14:19 ` Heiko Carstens
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=1258720459.22249.1018.camel@gandalf.stny.rr.com \
--to=rostedt@goodmis.org \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=feng.tang@intel.com \
--cc=fweisbec@gmail.com \
--cc=gcc@gcc.gnu.org \
--cc=heiko.carstens@de.ibm.com \
--cc=hpa@zytor.com \
--cc=jakub@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=richard.guenther@gmail.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.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;
as well as URLs for NNTP newsgroup(s).