summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
diff options
context:
space:
mode:
authorOwain Ainsworth <oga@cvs.openbsd.org>2009-04-19 19:13:58 +0000
committerOwain Ainsworth <oga@cvs.openbsd.org>2009-04-19 19:13:58 +0000
commitb1b99d0ea29b8d8c4d0fd7612ffbea278855e476 (patch)
treefc11c437bc8d87fe71712d8e7aca256f6d928cab /sys/arch/amd64
parent3b509950ceb7b447321109975cd684f00cf73222 (diff)
For consistency, make sure that all archs that use the same pattern
always increment uvmexp.softs while inside the lock. While i'm here, make alpha's dispatch loop look like the rest. "sure" miod@
Diffstat (limited to 'sys/arch/amd64')
-rw-r--r--sys/arch/amd64/amd64/softintr.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/arch/amd64/amd64/softintr.c b/sys/arch/amd64/amd64/softintr.c
index a6e659d2744..b0d22813c76 100644
--- a/sys/arch/amd64/amd64/softintr.c
+++ b/sys/arch/amd64/amd64/softintr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: softintr.c,v 1.4 2009/04/19 17:50:18 oga Exp $ */
+/* $OpenBSD: softintr.c,v 1.5 2009/04/19 19:13:57 oga Exp $ */
/* $NetBSD: softintr.c,v 1.1 2003/02/26 21:26:12 fvdl Exp $ */
/*-
@@ -88,9 +88,11 @@ softintr_dispatch(int which)
}
TAILQ_REMOVE(&si->softintr_q, sih, sih_q);
sih->sih_pending = 0;
- mtx_leave(&si->softintr_lock);
uvmexp.softs++;
+
+ mtx_leave(&si->softintr_lock);
+
(*sih->sih_fn)(sih->sih_arg);
}
}