patch-2.1.37 linux/include/asm-i386/smp_lock.h

Next file: linux/include/asm-i386/spinlock.h
Previous file: linux/include/asm-i386/smp.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.36/linux/include/asm-i386/smp_lock.h linux/include/asm-i386/smp_lock.h
@@ -31,14 +31,11 @@
 #define reacquire_kernel_lock(task, cpu, depth) \
 do { if (depth) __asm__ __volatile__( \
 	"cli\n\t" \
-	"movl $0f,%%eax\n\t" \
-	"jmp __lock_kernel\n" \
-	"0:\t" \
+	"call __lock_kernel\n\t" \
 	"movl %2,%0\n\t" \
 	"sti" \
 	: "=m" (task->lock_depth) \
-	: "d" (cpu), "c" (depth) \
-	: "ax"); \
+	: "d" (cpu), "c" (depth)); \
 } while (0)
 	
 
@@ -62,14 +59,12 @@
 	cli
 	cmpl	$0, %0
 	jne	0f
-	movl	$0f, %%eax
-	jmp	__lock_kernel
-0:
-	incl	%0
+	call	__lock_kernel
+0:	incl	%0
 	popfl
 "	:
-	: "m" (current_set[cpu]->lock_depth), "d" (cpu)
-	: "ax", "memory");
+	: "m" (current->lock_depth), "d" (cpu)
+	: "memory");
 }
 
 extern __inline__ void unlock_kernel(void)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov