summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorKenji Aoyama <aoyama@cvs.openbsd.org>2014-12-23 10:59:30 +0000
committerKenji Aoyama <aoyama@cvs.openbsd.org>2014-12-23 10:59:30 +0000
commit50f0e60e2a37e848904b21e13fd4196b3731c0d8 (patch)
tree86d9b6252fc7dee9a3b2ed3727214558d642abb4 /sys/arch
parent5258fe8eca8457802b68a93000fe633684d66c36 (diff)
We do not need to grab the kernel lock for clock interrupts on luna88k,
as same as aviion. suggested and ok miod@
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/luna88k/luna88k/machdep.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/sys/arch/luna88k/luna88k/machdep.c b/sys/arch/luna88k/luna88k/machdep.c
index 3d6c42c8753..15401748ae8 100644
--- a/sys/arch/luna88k/luna88k/machdep.c
+++ b/sys/arch/luna88k/luna88k/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.114 2014/12/10 15:29:53 mikeb Exp $ */
+/* $OpenBSD: machdep.c,v 1.115 2014/12/23 10:59:29 aoyama Exp $ */
/*
* Copyright (c) 1998, 1999, 2000, 2001 Steve Murphree, Jr.
* Copyright (c) 1996 Nivas Madhur
@@ -832,10 +832,6 @@ luna88k_ext_int(struct trapframe *eframe)
goto out;
#endif
-#ifdef MULTIPROCESSOR
- if (old_spl < IPL_SCHED)
- __mp_lock(&kernel_lock);
-#endif
/*
* Service the highest interrupt, in order.
*/
@@ -857,9 +853,13 @@ luna88k_ext_int(struct trapframe *eframe)
case 3:
#ifdef MULTIPROCESSOR
if (CPU_IS_PRIMARY(ci)) {
+ if (old_spl < IPL_SCHED)
+ __mp_lock(&kernel_lock);
#endif
isrdispatch_autovec(cur_int_level);
#ifdef MULTIPROCESSOR
+ if (old_spl < IPL_SCHED)
+ __mp_unlock(&kernel_lock);
}
#endif
break;
@@ -873,11 +873,6 @@ luna88k_ext_int(struct trapframe *eframe)
cur_int_level = cur_isr >> 29;
} while (cur_int_level != 0);
-#ifdef MULTIPROCESSOR
- if (old_spl < IPL_SCHED)
- __mp_unlock(&kernel_lock);
-#endif
-
out:
/*
* process any remaining data access exceptions before