diff options
author | scottl <scottl@FreeBSD.org> | 2004-01-30 07:04:39 +0000 |
---|---|---|
committer | scottl <scottl@FreeBSD.org> | 2004-01-30 07:04:39 +0000 |
commit | 5dfe9e26eabfd080d82fd9209e3a289ac08b6fda (patch) | |
tree | cec9b39e1caeaeab1de2158645d56800bbba270b /sys/dev/aac/aac_pci.c | |
parent | 3671a70ce0b5736c9038fd1d7061f44e7182bef2 (diff) | |
download | FreeBSD-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.c | 2 |
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; |