aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Long <scottl@FreeBSD.org>2004-07-18 15:59:03 +0000
committerScott Long <scottl@FreeBSD.org>2004-07-18 15:59:03 +0000
commit701f14080017fdef866079cc7c0a9c5a86f4c683 (patch)
treeac22ab2a20ec2a247773c0b4fbd9fd368f767eb2
parent7a76c247bdd2ffd207bb3188105ca19819ab4b03 (diff)
Notes
-rw-r--r--sys/amd64/conf/GENERIC1
-rw-r--r--sys/conf/NOTES5
-rw-r--r--sys/conf/options2
-rw-r--r--sys/kern/kern_mutex.c6
4 files changed, 7 insertions, 7 deletions
diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC
index 4cd44a467ae85..87ca19f7f2fc3 100644
--- a/sys/amd64/conf/GENERIC
+++ b/sys/amd64/conf/GENERIC
@@ -28,7 +28,6 @@ ident GENERIC
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
options SCHED_ULE # ULE scheduler
-options ADAPTIVE_MUTEXES # mutexes first spin lock, then sleep
options INET # InterNETworking
options INET6 # IPv6 communications protocols
options FFS # Berkeley Fast Filesystem
diff --git a/sys/conf/NOTES b/sys/conf/NOTES
index 0ec51a5813397..6e336056fd5f5 100644
--- a/sys/conf/NOTES
+++ b/sys/conf/NOTES
@@ -169,8 +169,9 @@ options SMP # Symmetric MultiProcessor Kernel
# ADAPTIVE_MUTEXES changes the behavior of blocking mutexes to spin
# if the thread that currently owns the mutex is executing on another
-# CPU.
-options ADAPTIVE_MUTEXES
+# CPU. This behaviour is enabled by default, so this option can be used
+# to disable it.
+options NO_ADAPTIVE_MUTEXES
# MUTEX_NOINLINE forces mutex operations to call functions to perform each
# operation rather than inlining the simple cases. This can be used to
diff --git a/sys/conf/options b/sys/conf/options
index 042a025471907..d1dcb2a719de0 100644
--- a/sys/conf/options
+++ b/sys/conf/options
@@ -56,7 +56,7 @@ KDB_TRACE opt_kdb.h
KDB_UNATTENDED opt_kdb.h
# Miscellaneous options.
-ADAPTIVE_MUTEXES
+NO_ADAPTIVE_MUTEXES
ALQ
CODA_COMPAT_5 opt_coda.h
COMPAT_43 opt_compat.h
diff --git a/sys/kern/kern_mutex.c b/sys/kern/kern_mutex.c
index 662cd4c6c6644..ffb75e3f6d0ed 100644
--- a/sys/kern/kern_mutex.c
+++ b/sys/kern/kern_mutex.c
@@ -421,7 +421,7 @@ _mtx_lock_sleep(struct mtx *m, int opts, const char *file, int line)
{
struct turnstile *ts;
struct thread *td = curthread;
-#if defined(SMP) && defined(ADAPTIVE_MUTEXES)
+#if defined(SMP) && !defined(NO_ADAPTIVE_MUTEXES)
struct thread *owner;
#endif
uintptr_t v;
@@ -503,7 +503,7 @@ _mtx_lock_sleep(struct mtx *m, int opts, const char *file, int line)
continue;
}
-#if defined(SMP) && defined(ADAPTIVE_MUTEXES)
+#if defined(SMP) && !defined(NO_ADAPTIVE_MUTEXES)
/*
* If the current owner of the lock is executing on another
* CPU, spin instead of blocking.
@@ -518,7 +518,7 @@ _mtx_lock_sleep(struct mtx *m, int opts, const char *file, int line)
}
continue;
}
-#endif /* SMP && ADAPTIVE_MUTEXES */
+#endif /* SMP && !NO_ADAPTIVE_MUTEXES */
/*
* We definitely must sleep for this lock.