From 5e163a89fedacf47100735e738c43687d3bf18a2 Mon Sep 17 00:00:00 2001 From: Manfred Spraul Date: Sat, 21 Dec 2002 20:04:34 -0800 Subject: [PATCH] reorder 'rep;nop;' in the spinlock macro According to Intel's recommendation, 'rep;nop; should be called before testing if the lock variable was modified (i.e. rep nop;cmp;jcc). The current implementation does it the wrong way around: first test, then wait, then branch. I've asked Asit Mallik from Intel, and he recommended to change it. It should be at least consistent: Right now, spinlock uses 'cmp;rep nop;jcc', rwlock uses 'rep nop;cmp;jcc' --- include/asm-i386/spinlock.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/asm-i386/spinlock.h b/include/asm-i386/spinlock.h index d26bf652d894..ae3615feecdb 100644 --- a/include/asm-i386/spinlock.h +++ b/include/asm-i386/spinlock.h @@ -48,8 +48,8 @@ typedef struct { "js 2f\n" \ LOCK_SECTION_START("") \ "2:\t" \ - "cmpb $0,%0\n\t" \ "rep;nop\n\t" \ + "cmpb $0,%0\n\t" \ "jle 2b\n\t" \ "jmp 1b\n" \ LOCK_SECTION_END -- cgit v1.2.3