From mboxrd@z Thu Jan 1 00:00:00 1970 From: Linus Torvalds Subject: Re: [PATCH -v7][RFC]: mutex: implement adaptive spinning Date: Thu, 8 Jan 2009 10:00:57 -0800 (PST) Message-ID: References: <1231347442.11687.344.camel@twins> <1231365115.11687.361.camel@twins> <1231366716.11687.377.camel@twins> <1231408718.11687.400.camel@twins> <20090108141808.GC11629@elte.hu> <1231426014.11687.456.camel@twins> <1231434515.14304.27.camel@think.oraclecorp.com> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: Peter Zijlstra , Ingo Molnar , Steven Rostedt , paulmck@linux.vnet.ibm.com, Gregory Haskins , Matthew Wilcox , Andi Kleen , Andrew Morton , Linux Kernel Mailing List , linux-fsdevel , linux-btrfs , Thomas Gleixner , Nick Piggin , Peter Morreale , Sven Dietrich To: Chris Mason Return-path: In-Reply-To: <1231434515.14304.27.camel@think.oraclecorp.com> List-ID: Unrelated: On Thu, 8 Jan 2009, Chris Mason wrote: > > RIP: 0010:[] [] __cmpxchg+0x36/0x3f Ouch. HOW THE HELL DID THAT NOT GET INLINED? cmpxchg() is a _single_ instruction if it's inlined, but it's a horrible mess of dynamic conditionals on the (constant - per call-site) size argument if it isn't. It looks like you probably enabled the "let gcc mess up inlining" config option. Ingo - I think we need to remove that crap again. Because gcc gets the inlining horribly horribly wrong. As usual. Linus