summaryrefslogtreecommitdiffstats
path: root/sys/dev/aac/aac_pci.c
diff options
context:
space:
mode:
authorscottl <scottl@FreeBSD.org>2004-01-30 07:04:39 +0000
committerscottl <scottl@FreeBSD.org>2004-01-30 07:04:39 +0000
commit5dfe9e26eabfd080d82fd9209e3a289ac08b6fda (patch)
treecec9b39e1caeaeab1de2158645d56800bbba270b /sys/dev/aac/aac_pci.c
parent3671a70ce0b5736c9038fd1d7061f44e7182bef2 (diff)
downloadFreeBSD-src-5dfe9e26eabfd080d82fd9209e3a289ac08b6fda.zip
FreeBSD-src-5dfe9e26eabfd080d82fd9209e3a289ac08b6fda.tar.gz
Take the plunge and make this driver be INTR_FAST. This re-arranges the
interrupt handler so that no locks are needed, and schedules the command completion routine with a taskqueue_fast. This also corrects the locking in the command thread and removes the need for operation flags. Simple load tests show that this is now considerably faster than FreeBSD 4.x in the SMP case when multiple i/o tasks are running.
Diffstat (limited to 'sys/dev/aac/aac_pci.c')
-rw-r--r--sys/dev/aac/aac_pci.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/aac/aac_pci.c b/sys/dev/aac/aac_pci.c
index 051a3e5..0d69364 100644
--- a/sys/dev/aac/aac_pci.c
+++ b/sys/dev/aac/aac_pci.c
@@ -224,7 +224,7 @@ aac_pci_attach(device_t dev)
#define INTR_ENTROPY 0
#endif
if (bus_setup_intr(sc->aac_dev, sc->aac_irq,
- INTR_MPSAFE|INTR_TYPE_BIO|INTR_ENTROPY, aac_intr,
+ INTR_FAST|INTR_TYPE_BIO, aac_intr,
sc, &sc->aac_intr)) {
device_printf(sc->aac_dev, "can't set up interrupt\n");
goto out;
OpenPOWER on IntegriCloud