Re: [patch 05/19] mutex subsystem, add include/asm-x86_64/mutex.h

From: Andi Kleen
Date: Mon Jan 02 2006 - 16:32:02 EST


On Mon, Jan 02, 2006 at 05:33:54PM +0100, Ingo Molnar wrote:
> + __asm__ __volatile__( \
> + LOCK " decl (%%rdi) \n" \
> + " js 2f \n" \
> + "1: \n" \
> + \
> + LOCK_SECTION_START("") \
> + "2: call "#fail_fn" \n" \
> + " jmp 1b \n" \
> + LOCK_SECTION_END \
> + \
> + :"=D" (dummy) \
> + : "D" (v) \
> + : "rax", "rsi", "rdx", "rcx", \
> + "r8", "r9", "r10", "r11", "memory"); \

I think it would be still better if you used the stubs in arch/x86_64/lib/thunk.S
and not clobber all the registers.
While it won't make that much difference for the out of line mutexes it will
generate better code for inline mutexes, and if someone ever decides they're
a good idea the code will be ready.

-Andi
-
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/