Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753907AbZAIDoF (ORCPT ); Thu, 8 Jan 2009 22:44:05 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752165AbZAIDnz (ORCPT ); Thu, 8 Jan 2009 22:43:55 -0500 Received: from smtp1.linux-foundation.org ([140.211.169.13]:39272 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752124AbZAIDnx (ORCPT ); Thu, 8 Jan 2009 22:43:53 -0500 Date: Thu, 8 Jan 2009 19:42:48 -0800 (PST) From: Linus Torvalds X-X-Sender: torvalds@localhost.localdomain To: Andi Kleen cc: "H. Peter Anvin" , Harvey Harrison , Ingo Molnar , Chris Mason , Peter Zijlstra , Steven Rostedt , paulmck@linux.vnet.ibm.com, Gregory Haskins , Matthew Wilcox , Andrew Morton , Linux Kernel Mailing List , linux-fsdevel , linux-btrfs , Thomas Gleixner , Nick Piggin , Peter Morreale , Sven Dietrich Subject: Re: [PATCH -v7][RFC]: mutex: implement adaptive spinning In-Reply-To: <20090109033531.GR496@one.firstfloor.org> Message-ID: References: <1231408718.11687.400.camel@twins> <20090108141808.GC11629@elte.hu> <1231426014.11687.456.camel@twins> <1231434515.14304.27.camel@think.oraclecorp.com> <20090108183306.GA22916@elte.hu> <1231444786.5715.8.camel@brick> <4966ABF9.9080409@zytor.com> <20090109033531.GR496@one.firstfloor.org> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 993 Lines: 31 On Fri, 9 Jan 2009, Andi Kleen wrote: > > I actually often use noinline when developing code simply because it > makes it easier to read oopses when gcc doesn't inline ever static > (which it normally does if it only has a single caller) Yes. Gcc inlining is a total piece of sh*t. Gcc doesn't inline enough when we ask it to, and inlines too damn aggressively when we don't. It seems to almost totally ignore the inline hint. Oh, well. The best option tends to be - mark things "noinline" just to make sure gcc doesn't screw up. - make "inline" mean "must_inline". - maybe add a new "maybe_inline" to be the "inline" hint that gcc uses. because quite frankly, depending on gcc to do the right thing is not working out. Linus -- 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/