Messages in this thread | | | Date | Thu, 8 Jan 2009 10:00:57 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [PATCH -v7][RFC]: mutex: implement adaptive spinning |
| |
Unrelated:
On Thu, 8 Jan 2009, Chris Mason wrote: > > RIP: 0010:[<ffffffff8024f4de>] [<ffffffff8024f4de>] __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
| |