[PATCH] i386: Remove lock section support in mutex.h
Lock sections don't work the new dwarf2 unwinder This generates slightly smaller code. It adds one more taken jump to the fast path. Cc: jbeulich@novell.com Signed-off-by: Andi Kleen <ak@suse.de>
This commit is contained in:
parent
0577f148b5
commit
01215ad8d8
@ -30,14 +30,10 @@ do { \
|
|||||||
\
|
\
|
||||||
__asm__ __volatile__( \
|
__asm__ __volatile__( \
|
||||||
LOCK_PREFIX " decl (%%eax) \n" \
|
LOCK_PREFIX " decl (%%eax) \n" \
|
||||||
" js 2f \n" \
|
" jns 1f \n" \
|
||||||
|
" call "#fail_fn" \n" \
|
||||||
"1: \n" \
|
"1: \n" \
|
||||||
\
|
\
|
||||||
LOCK_SECTION_START("") \
|
|
||||||
"2: call "#fail_fn" \n" \
|
|
||||||
" jmp 1b \n" \
|
|
||||||
LOCK_SECTION_END \
|
|
||||||
\
|
|
||||||
:"=a" (dummy) \
|
:"=a" (dummy) \
|
||||||
: "a" (count) \
|
: "a" (count) \
|
||||||
: "memory", "ecx", "edx"); \
|
: "memory", "ecx", "edx"); \
|
||||||
@ -86,14 +82,10 @@ do { \
|
|||||||
\
|
\
|
||||||
__asm__ __volatile__( \
|
__asm__ __volatile__( \
|
||||||
LOCK_PREFIX " incl (%%eax) \n" \
|
LOCK_PREFIX " incl (%%eax) \n" \
|
||||||
" jle 2f \n" \
|
" jg 1f \n" \
|
||||||
|
" call "#fail_fn" \n" \
|
||||||
"1: \n" \
|
"1: \n" \
|
||||||
\
|
\
|
||||||
LOCK_SECTION_START("") \
|
|
||||||
"2: call "#fail_fn" \n" \
|
|
||||||
" jmp 1b \n" \
|
|
||||||
LOCK_SECTION_END \
|
|
||||||
\
|
|
||||||
:"=a" (dummy) \
|
:"=a" (dummy) \
|
||||||
: "a" (count) \
|
: "a" (count) \
|
||||||
: "memory", "ecx", "edx"); \
|
: "memory", "ecx", "edx"); \
|
||||||
|
Loading…
Reference in New Issue
Block a user