summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/smptests.h
diff options
context:
space:
mode:
authorfsmp <fsmp@FreeBSD.org>1997-08-30 08:08:10 +0000
committerfsmp <fsmp@FreeBSD.org>1997-08-30 08:08:10 +0000
commite2310cdbcf324f3bbeda76add82e773d37ee43cd (patch)
treeab2ac308116ca3f26a9055eae17d100d5901e501 /sys/i386/include/smptests.h
parent62dbf14e9ad4dbe9bc03c2657d854b47ef4b3f65 (diff)
downloadFreeBSD-src-e2310cdbcf324f3bbeda76add82e773d37ee43cd.zip
FreeBSD-src-e2310cdbcf324f3bbeda76add82e773d37ee43cd.tar.gz
Another round of lock pushdown.
Add a simplelock to deal with disable_intr()/enable_intr() as used in UP kernel. UP kernel expects that this is enough to guarantee exclusive access to regions of code bracketed by these 2 functions. Add a simplelock to bracket clock accesses in clock.c: clock_lock. Help from: Bruce Evans <bde@zeta.org.au>
Diffstat (limited to 'sys/i386/include/smptests.h')
-rw-r--r--sys/i386/include/smptests.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/sys/i386/include/smptests.h b/sys/i386/include/smptests.h
index f6b2ce9..c93cefd 100644
--- a/sys/i386/include/smptests.h
+++ b/sys/i386/include/smptests.h
@@ -22,7 +22,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: smptests.h,v 1.24 1997/08/29 07:23:37 smp Exp smp $
+ * $Id: smptests.h,v 1.22 1997/08/29 17:58:30 fsmp Exp $
*/
#ifndef _MACHINE_SMPTESTS_H_
@@ -42,6 +42,24 @@
/*
+ * There are places in the current kernel where it thinks it has exclusive
+ * access to the world by bracketing things with disable_intr()/enable_intr().
+ * Now that we started letting multiple CPUs into the kernel this is no
+ * longer true.
+ *
+ * SIMPLE_MPINTRLOCK activates code that uses a simplelock to protect
+ * all code suppossedly protected by disable_intr()/enable_intr().
+ *
+ * RECURSIVE_MPINTRLOCK is an attept to provide a recursive lock, doesn't work!
+ *
+ * Only define one of these (on neither, but FAST_HI is then problamatic):
+#define SIMPLE_MPINTRLOCK
+#define RECURSIVE_MPINTRLOCK
+ */
+#define SIMPLE_MPINTRLOCK
+
+
+/*
* Regular INTerrupts without the giant lock, NOT READY YET!!!
*
#define INTR_SIMPLELOCK
OpenPOWER on IntegriCloud