diff options
author | marcel <marcel@FreeBSD.org> | 2003-01-06 00:25:31 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2003-01-06 00:25:31 +0000 |
commit | 95f59f22f73d880fcb3ed287d333c60dacc6614b (patch) | |
tree | 5501aae48a5d700f682e8f7360649bee937b3979 /sys/ia64 | |
parent | 8f4f539c28e783bcdebe467f27cde31d6e37a50a (diff) | |
download | FreeBSD-src-95f59f22f73d880fcb3ed287d333c60dacc6614b.zip FreeBSD-src-95f59f22f73d880fcb3ed287d333c60dacc6614b.tar.gz |
Count interrupts as soon as possible. This makes sure interrupts are
counted even when there are no handlers.
Diffstat (limited to 'sys/ia64')
-rw-r--r-- | sys/ia64/ia64/interrupt.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/ia64/ia64/interrupt.c b/sys/ia64/ia64/interrupt.c index da80777..cb051a9 100644 --- a/sys/ia64/ia64/interrupt.c +++ b/sys/ia64/ia64/interrupt.c @@ -338,6 +338,9 @@ ia64_dispatch_intr(void *frame, unsigned long vector) if (i == NULL) return; /* no ithread for this vector */ + if (i->cntp) + atomic_add_long(i->cntp, 1); + ithd = i->ithd; KASSERT(ithd != NULL, ("interrupt vector without a thread")); @@ -348,9 +351,6 @@ ia64_dispatch_intr(void *frame, unsigned long vector) if (TAILQ_EMPTY(&ithd->it_handlers)) return; - if (i->cntp) - atomic_add_long(i->cntp, 1); - /* * Handle a fast interrupt if there is no actual thread for this * interrupt by calling the handler directly without Giant. Note |