Re: page fault scalability patch V8: [4/7] universally availablecmpxchg on i386

From: Andy Lutomirski
Date: Thu Sep 23 2004 - 02:19:23 EST


Andi Kleen wrote:
On Tue, Sep 21, 2004 at 06:41:25PM +0300, Denis Vlasenko wrote:

On Monday 20 September 2004 23:57, Andi Kleen wrote:

On Mon, Sep 20, 2004 at 01:49:20PM -0700, Christoph Lameter wrote:

On Mon, 20 Sep 2004, Denis Vlasenko wrote:


I think it shouldn't be this way.

OTOH for !CONFIG_386 case it makes perfect sense to have it inlined.

Would the following revised patch be acceptable?

You would need an EXPORT_SYMBOL at least. But to be honest your
original patch was much simpler and nicer and cmpxchg is not called
that often that it really matters. I would just ignore Denis' suggestion and stay with the old patch.

A bit faster approach (for CONFIG_386 case) would be using


It's actually slower. Many x86 CPUs cannot predict indirect jumps
and those that do cannot predict them as well as a test and jump.

Wouldn't alternative_input() choosing between a cmpxchg and a call be the way to go here? Or is the overhead too high in an inline function?

(No patch included since I don't pretend to understand gcc's asm syntax at all.)

--Andy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/