diff options
author | fsmp <fsmp@FreeBSD.org> | 1997-08-30 08:08:10 +0000 |
---|---|---|
committer | fsmp <fsmp@FreeBSD.org> | 1997-08-30 08:08:10 +0000 |
commit | e2310cdbcf324f3bbeda76add82e773d37ee43cd (patch) | |
tree | ab2ac308116ca3f26a9055eae17d100d5901e501 /sys/i386/include/smptests.h | |
parent | 62dbf14e9ad4dbe9bc03c2657d854b47ef4b3f65 (diff) | |
download | FreeBSD-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.h | 20 |
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 |