summaryrefslogtreecommitdiffstats
path: root/include/asm-sparc64/backoff.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-03-19 09:04:48 +0100
committerDavid S. Miller <davem@davemloft.net>2008-03-19 09:04:48 +0100
commit4cfea5a7dfcc2766251e50ca30271a782d5004ad (patch)
treef5df867200211659f09a496c39b83ead231c0c81 /include/asm-sparc64/backoff.h
parent[SPARC]: Fix link errors with gcc-4.3 (diff)
downloadlinux-4cfea5a7dfcc2766251e50ca30271a782d5004ad.tar.xz
linux-4cfea5a7dfcc2766251e50ca30271a782d5004ad.zip
[SPARC64]: Fix atomic backoff limit.
4096 will not fit into the immediate field of a compare instruction, in fact it will end up being -4096 causing the check to fail every time and thus disabling backoff. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--include/asm-sparc64/backoff.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/asm-sparc64/backoff.h b/include/asm-sparc64/backoff.h
index dadd6c385c6c..fa1fdf67e350 100644
--- a/include/asm-sparc64/backoff.h
+++ b/include/asm-sparc64/backoff.h
@@ -12,7 +12,8 @@
mov reg, tmp; \
88: brnz,pt tmp, 88b; \
sub tmp, 1, tmp; \
- cmp reg, BACKOFF_LIMIT; \
+ set BACKOFF_LIMIT, tmp; \
+ cmp reg, tmp; \
bg,pn %xcc, label; \
nop; \
ba,pt %xcc, label; \