Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754876AbZKSUKX (ORCPT ); Thu, 19 Nov 2009 15:10:23 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754026AbZKSUKX (ORCPT ); Thu, 19 Nov 2009 15:10:23 -0500 Received: from hrndva-omtalb.mail.rr.com ([71.74.56.122]:49390 "EHLO hrndva-omtalb.mail.rr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753532AbZKSUKW (ORCPT ); Thu, 19 Nov 2009 15:10:22 -0500 Subject: Re: BUG: GCC-4.4.x changes the function frame on some functions From: Steven Rostedt Reply-To: rostedt@goodmis.org To: "H. Peter Anvin" Cc: David Daney , Linus Torvalds , Andrew Haley , Richard Guenther , Thomas Gleixner , Ingo Molnar , 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: <4B05A16D.1050807@zytor.com> References: <20091119072040.GA23579@elte.hu> <1258653562.22249.682.camel@gandalf.stny.rr.com> <84fc9c000911191003t244eb864o3d5b355ab5485f@mail.gmail.com> <4B058CCD.8050605@redhat.com> <4B05982B.6060200@caviumnetworks.com> <1258658886.22249.874.camel@gandalf.stny.rr.com> <4B05A16D.1050807@zytor.com> Content-Type: text/plain Organization: Kihon Technologies Inc. Date: Thu, 19 Nov 2009 15:10:27 -0500 Message-Id: <1258661427.22249.975.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: 1141 Lines: 30 On Thu, 2009-11-19 at 11:50 -0800, H. Peter Anvin wrote: > > Perhaps we could create another profiler? Instead of calling mcount, > > call a new function: __fentry__ or something. Have it activated with > > another switch. This could make the performance of the function tracer > > even better without all these exceptions. > > > > : > > call __fentry__ > > [...] > > > > Calling the profiler immediately at the entry point is clearly the more > sane option. It means the ABI is well-defined, stable, and independent > of what the actual function contents are. It means that ABI isn't the > normal C ABI (the __fentry__ function would have to preserve all > registers), but that's fine... mcount already has that requirement (saving all/most regs). Anyway, you are right, we don't care. The tracer should carry the blunt of the load, not the individual callers. -- 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/