Don't use the standard macros for disabling/enabling interrupt.

On SMP systems, this left the mpintr_lock simplelock locked, causing
further calls to disable_intr to deadlock or panic.
This commit is contained in:
Tor Egge 1998-03-14 03:02:15 +00:00
parent 8293f20aee
commit d20d60be28
2 changed files with 6 additions and 6 deletions

View File

@ -38,7 +38,7 @@
*
* from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91
* Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$
* $Id: vm_machdep.c,v 1.101 1998/02/25 03:56:09 dyson Exp $
* $Id: vm_machdep.c,v 1.102 1998/03/12 09:55:57 bde Exp $
*/
#include "npx.h"
@ -949,7 +949,7 @@ vm_page_zero_idle()
if (try_mplock()) {
#endif
s = splvm();
enable_intr();
__asm __volatile("sti" : : : "memory");
m = vm_page_list_find(PQ_FREE, free_rover);
if (m != NULL) {
--(*vm_page_queues[m->queue].lcnt);
@ -973,7 +973,7 @@ vm_page_zero_idle()
++cnt_prezero;
}
splx(s);
disable_intr();
__asm __volatile("cli" : : : "memory");
#ifdef SMP
rel_mplock();
#endif

View File

@ -38,7 +38,7 @@
*
* from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91
* Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$
* $Id: vm_machdep.c,v 1.101 1998/02/25 03:56:09 dyson Exp $
* $Id: vm_machdep.c,v 1.102 1998/03/12 09:55:57 bde Exp $
*/
#include "npx.h"
@ -949,7 +949,7 @@ vm_page_zero_idle()
if (try_mplock()) {
#endif
s = splvm();
enable_intr();
__asm __volatile("sti" : : : "memory");
m = vm_page_list_find(PQ_FREE, free_rover);
if (m != NULL) {
--(*vm_page_queues[m->queue].lcnt);
@ -973,7 +973,7 @@ vm_page_zero_idle()
++cnt_prezero;
}
splx(s);
disable_intr();
__asm __volatile("cli" : : : "memory");
#ifdef SMP
rel_mplock();
#endif