diff options
| author | Manfred Spraul <manfred@colorfullife.com> | 2002-12-21 20:04:34 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-12-21 20:04:34 -0800 |
| commit | 5e163a89fedacf47100735e738c43687d3bf18a2 (patch) | |
| tree | c124ec63485ef54cf644ecb80461e4adb5173032 /include | |
| parent | d21918b6a35805753c9f08f7d3eb29004ec86066 (diff) | |
[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'
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-i386/spinlock.h | 2 |
1 files changed, 1 insertions, 1 deletions
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 |
