Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753332AbZKSTGv (ORCPT ); Thu, 19 Nov 2009 14:06:51 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752766AbZKSTGu (ORCPT ); Thu, 19 Nov 2009 14:06:50 -0500 Received: from hrndva-omtalb.mail.rr.com ([71.74.56.125]:59085 "EHLO hrndva-omtalb.mail.rr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752164AbZKSTGt (ORCPT ); Thu, 19 Nov 2009 14:06:49 -0500 Subject: Re: BUG: GCC-4.4.x changes the function frame on some functions From: Steven Rostedt Reply-To: rostedt@goodmis.org To: Ingo Molnar Cc: Linus Torvalds , Richard Guenther , Thomas Gleixner , "H. Peter Anvin" , LKML , Andrew Morton , Heiko Carstens , feng.tang@intel.com, Fr??d??ric Weisbecker , Peter Zijlstra , jakub@redhat.com, gcc@gcc.gnu.org In-Reply-To: <20091119184716.GA25458@elte.hu> References: <20091119072040.GA23579@elte.hu> <1258653562.22249.682.camel@gandalf.stny.rr.com> <84fc9c000911191003t244eb864o3d5b355ab5485f@mail.gmail.com> <20091119184716.GA25458@elte.hu> Content-Type: text/plain Organization: Kihon Technologies Inc. Date: Thu, 19 Nov 2009 14:06:54 -0500 Message-Id: <1258657614.22249.824.camel@gandalf.stny.rr.com> Mime-Version: 1.0 X-Mailer: Evolution 2.26.3 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1570 Lines: 39 On Thu, 2009-11-19 at 19:47 +0100, Ingo Molnar wrote: > * Linus Torvalds wrote: > > > Admittedly, anybody who compiles with -pg probably doesn't care deeply > > about smaller and more efficient code, since the mcount call overhead > > tends to make the thing moot anyway, but it really looks like a > > win-win situation to just fix the mcount call sequence regardless. > > Just a sidenote: due to dyn-ftrace, which patches out all mcounts during > bootup to be NOPs (and opt-in patches them in again if someone runs the > function tracer), the cost is not as large as one would have it with say > -pg based user-space profiling. > > It's not completely zero-cost as the pure NOPs balloon the i$ footprint > a bit and GCC generates different code too in some cases. But it's > certainly good enough that it's generally pretty hard to prove overhead > via micro or macro benchmarks that the patched out mcounts call sites > are there. And frame pointers do add a little overhead as well. Too bad the mcount ABI wasn't something like this: : 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. -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/