diff options
Diffstat (limited to 'sys/kern/kern_intr.c')
-rw-r--r-- | sys/kern/kern_intr.c | 4 |
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")); } |