summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_intr.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_intr.c')
-rw-r--r--sys/kern/kern_intr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/kern_intr.c b/sys/kern/kern_intr.c
index 7693954..00d512e 100644
--- a/sys/kern/kern_intr.c
+++ b/sys/kern/kern_intr.c
@@ -583,8 +583,6 @@ swi_sched(void *cookie, int flags)
struct intr_event *ie = ih->ih_event;
int error;
- PCPU_LAZY_INC(cnt.v_intr);
-
CTR3(KTR_INTR, "swi_sched: %s %s need=%d", ie->ie_name, ih->ih_name,
ih->ih_need);
@@ -594,7 +592,9 @@ swi_sched(void *cookie, int flags)
* it will execute it the next time it runs.
*/
atomic_store_rel_int(&ih->ih_need, 1);
+
if (!(flags & SWI_DELAY)) {
+ PCPU_LAZY_INC(cnt.v_soft);
error = intr_event_schedule_thread(ie);
KASSERT(error == 0, ("stray software interrupt"));
}
OpenPOWER on IntegriCloud