summaryrefslogtreecommitdiffstats
path: root/sys/crypto
diff options
context:
space:
mode:
authorjmg <jmg@FreeBSD.org>2013-11-20 20:25:27 +0000
committerjmg <jmg@FreeBSD.org>2013-11-20 20:25:27 +0000
commit472b0e6b78a1a128f9336b34b8ee644e3376252d (patch)
treee1ae211904d1d9094c56fc3a0ebfda7c068e000b /sys/crypto
parente4deb800b079b97862b81dea42b242508a899080 (diff)
downloadFreeBSD-src-472b0e6b78a1a128f9336b34b8ee644e3376252d.zip
FreeBSD-src-472b0e6b78a1a128f9336b34b8ee644e3376252d.tar.gz
flag that the aesni driver is sync... This means we don't waste a
context switch just to call the done callback... On my machine, this improves geli/gzero decrypt performance by ~27% from 550MB/sec to ~700MB/sec... MFC after: 3 days
Diffstat (limited to 'sys/crypto')
-rw-r--r--sys/crypto/aesni/aesni.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/crypto/aesni/aesni.c b/sys/crypto/aesni/aesni.c
index 73eb28a..c4c6d5f 100644
--- a/sys/crypto/aesni/aesni.c
+++ b/sys/crypto/aesni/aesni.c
@@ -92,7 +92,8 @@ aesni_attach(device_t dev)
sc = device_get_softc(dev);
TAILQ_INIT(&sc->sessions);
sc->sid = 1;
- sc->cid = crypto_get_driverid(dev, CRYPTOCAP_F_HARDWARE);
+ sc->cid = crypto_get_driverid(dev,
+ CRYPTOCAP_F_HARDWARE|CRYPTOCAP_F_SYNC);
if (sc->cid < 0) {
device_printf(dev, "Could not get crypto driver id.\n");
return (ENOMEM);
OpenPOWER on IntegriCloud