summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2004-07-20 02:15:10 +0000
committerPeter Wemm <peter@FreeBSD.org>2004-07-20 02:15:10 +0000
commitb09cb1027bcdc42c0d086841f3da25d6ec6c79b7 (patch)
tree786ce5a490558333465210c5395267d3f0be9ba1 /sys
parentb00fb497421eb7d6360f15bca267004ca1bd1326 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/kern_mutex.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/kern/kern_mutex.c b/sys/kern/kern_mutex.c
index 0dc39146b9dd..c6f7b3ecbe80 100644
--- a/sys/kern/kern_mutex.c
+++ b/sys/kern/kern_mutex.c
@@ -465,7 +465,7 @@ _mtx_lock_sleep(struct mtx *m, int opts, const char *file, int line)
*/
if (v == MTX_UNOWNED) {
turnstile_release(&m->mtx_object);
-#ifdef __i386__
+#if defined(__i386__) || defined(__amd64__)
ia32_pause();
#endif
continue;
@@ -497,7 +497,7 @@ _mtx_lock_sleep(struct mtx *m, int opts, const char *file, int line)
!atomic_cmpset_ptr(&m->mtx_lock, (void *)v,
(void *)(v | MTX_CONTESTED))) {
turnstile_release(&m->mtx_object);
-#ifdef __i386__
+#if defined(__i386__) || defined(__amd64__)
ia32_pause();
#endif
continue;
@@ -512,7 +512,7 @@ _mtx_lock_sleep(struct mtx *m, int opts, const char *file, int line)
if (m != &Giant && TD_IS_RUNNING(owner)) {
turnstile_release(&m->mtx_object);
while (mtx_owner(m) == owner && TD_IS_RUNNING(owner)) {
-#ifdef __i386__
+#if defined(__i386__) || defined(__amd64__)
ia32_pause();
#endif
}
@@ -579,7 +579,7 @@ _mtx_lock_spin(struct mtx *m, int opts, const char *file, int line)
critical_exit();
while (m->mtx_lock != MTX_UNOWNED) {
if (i++ < 10000000) {
-#ifdef __i386__
+#if defined(__i386__) || defined(__amd64__)
ia32_pause();
#endif
continue;
@@ -595,7 +595,7 @@ _mtx_lock_spin(struct mtx *m, int opts, const char *file, int line)
#endif
panic("spin lock held too long");
}
-#ifdef __i386__
+#if defined(__i386__) || defined(__amd64__)
ia32_pause();
#endif
}