patch-2.4.19 linux-2.4.19/include/asm-i386/rwsem.h
Next file: linux-2.4.19/include/asm-i386/semaphore.h
Previous file: linux-2.4.19/include/asm-i386/rwlock.h
Back to the patch index
Back to the overall index
- Lines: 90
- Date:
Fri Aug 2 17:39:45 2002
- Orig file:
linux-2.4.18/include/asm-i386/rwsem.h
- Orig date:
Mon Feb 25 11:38:12 2002
diff -urN linux-2.4.18/include/asm-i386/rwsem.h linux-2.4.19/include/asm-i386/rwsem.h
@@ -40,7 +40,6 @@
#include <linux/list.h>
#include <linux/spinlock.h>
-#include <linux/stringify.h>
struct rwsem_waiter;
@@ -102,10 +101,7 @@
LOCK_PREFIX " incl (%%eax)\n\t" /* adds 0x00000001, returns the old value */
" js 2f\n\t" /* jump if we weren't granted the lock */
"1:\n\t"
- ".subsection 1\n"
- ".ifndef _text_lock_" __stringify(KBUILD_BASENAME) "\n"
- "_text_lock_" __stringify(KBUILD_BASENAME) ":\n"
- ".endif\n"
+ LOCK_SECTION_START("")
"2:\n\t"
" pushl %%ecx\n\t"
" pushl %%edx\n\t"
@@ -113,7 +109,7 @@
" popl %%edx\n\t"
" popl %%ecx\n\t"
" jmp 1b\n"
- ".subsection 0\n"
+ LOCK_SECTION_END
"# ending down_read\n\t"
: "+m"(sem->count)
: "a"(sem)
@@ -134,16 +130,13 @@
" testl %0,%0\n\t" /* was the count 0 before? */
" jnz 2f\n\t" /* jump if we weren't granted the lock */
"1:\n\t"
- ".subsection 1\n"
- ".ifndef _text_lock_" __stringify(KBUILD_BASENAME) "\n"
- "_text_lock_" __stringify(KBUILD_BASENAME) ":\n"
- ".endif\n"
+ LOCK_SECTION_START("")
"2:\n\t"
" pushl %%ecx\n\t"
" call rwsem_down_write_failed\n\t"
" popl %%ecx\n\t"
" jmp 1b\n"
- ".subsection 0\n"
+ LOCK_SECTION_END
"# ending down_write"
: "+d"(tmp), "+m"(sem->count)
: "a"(sem)
@@ -161,10 +154,7 @@
LOCK_PREFIX " xadd %%edx,(%%eax)\n\t" /* subtracts 1, returns the old value */
" js 2f\n\t" /* jump if the lock is being waited upon */
"1:\n\t"
- ".subsection 1\n"
- ".ifndef _text_lock_" __stringify(KBUILD_BASENAME) "\n"
- "_text_lock_" __stringify(KBUILD_BASENAME) ":\n"
- ".endif\n"
+ LOCK_SECTION_START("")
"2:\n\t"
" decw %%dx\n\t" /* do nothing if still outstanding active readers */
" jnz 1b\n\t"
@@ -172,7 +162,7 @@
" call rwsem_wake\n\t"
" popl %%ecx\n\t"
" jmp 1b\n"
- ".subsection 0\n"
+ LOCK_SECTION_END
"# ending __up_read\n"
: "+m"(sem->count), "+d"(tmp)
: "a"(sem)
@@ -190,10 +180,7 @@
LOCK_PREFIX " xaddl %%edx,(%%eax)\n\t" /* tries to transition 0xffff0001 -> 0x00000000 */
" jnz 2f\n\t" /* jump if the lock is being waited upon */
"1:\n\t"
- ".subsection 1\n"
- ".ifndef _text_lock_" __stringify(KBUILD_BASENAME) "\n"
- "_text_lock_" __stringify(KBUILD_BASENAME) ":\n"
- ".endif\n"
+ LOCK_SECTION_START("")
"2:\n\t"
" decw %%dx\n\t" /* did the active count reduce to 0? */
" jnz 1b\n\t" /* jump back if not */
@@ -201,7 +188,7 @@
" call rwsem_wake\n\t"
" popl %%ecx\n\t"
" jmp 1b\n"
- ".subsection 0\n"
+ LOCK_SECTION_END
"# ending __up_write\n"
: "+m"(sem->count)
: "a"(sem), "i"(-RWSEM_ACTIVE_WRITE_BIAS)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)