diff options
author | Kenji Aoyama <aoyama@cvs.openbsd.org> | 2014-12-23 10:59:30 +0000 |
---|---|---|
committer | Kenji Aoyama <aoyama@cvs.openbsd.org> | 2014-12-23 10:59:30 +0000 |
commit | 50f0e60e2a37e848904b21e13fd4196b3731c0d8 (patch) | |
tree | 86d9b6252fc7dee9a3b2ed3727214558d642abb4 /sys/arch | |
parent | 5258fe8eca8457802b68a93000fe633684d66c36 (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.c | 15 |
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 |