Messages in this thread | | | Date | Mon, 2 Jan 2006 17:46:06 +0100 | From | Andi Kleen <> | Subject | Re: [patch 05/19] mutex subsystem, add include/asm-x86_64/mutex.h |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |