diff options
author | Owain Ainsworth <oga@cvs.openbsd.org> | 2009-04-19 19:13:58 +0000 |
---|---|---|
committer | Owain Ainsworth <oga@cvs.openbsd.org> | 2009-04-19 19:13:58 +0000 |
commit | b1b99d0ea29b8d8c4d0fd7612ffbea278855e476 (patch) | |
tree | fc11c437bc8d87fe71712d8e7aca256f6d928cab /sys/arch/amd64 | |
parent | 3b509950ceb7b447321109975cd684f00cf73222 (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.c | 6 |
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); } } |