[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFySaZ4huXgPM0yGPezAhnE9zT81tucC9WnDs5Ps+7+hGA@mail.gmail.com>
Date: Fri, 22 Jun 2012 11:07:01 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Ingo Molnar <mingo@...nel.org>,
Steven Rostedt <rostedt@...dmis.org>
Cc: linux-kernel@...r.kernel.org,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Arnaldo Carvalho de Melo <acme@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [GIT PULL] perf fixes
On Fri, Jun 22, 2012 at 6:36 AM, Ingo Molnar <mingo@...nel.org> wrote:
>
> Steven Rostedt (1):
> ftrace: Make all inline tags also include notrace
Btw, this is something I've been wondering about: function call
tracing and inlining seems to be fundamentally incompatible.
And gcc can (and does, depending on version and details) inline pretty
much any static function, whether we mark it inline or not.
Now, there's no question that we don't want inlined functions to be
traced, but that actually means that the *logical* thing would be to
try to somehow tell gcc to not ever do the whole stupid mcount thing
for functions that *might* be inlined - and at least be consistent
about it.
IOW, is there some way to get the mcount thing to only happen for
functions that either have their address taken, or have external
visibility?
Because that mcount thing is expensive as hell, if people haven't
noticed (and I'm not talking about just the call instruction that I
think we can stub out - it changes code generation in other ways too).
And it looks like distros enable it by default, which annoys my
performance-optimizing soul deeply.
So doing it a bit less would be lovely.
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists