diff options
author | jmg <jmg@FreeBSD.org> | 2013-11-20 20:25:27 +0000 |
---|---|---|
committer | jmg <jmg@FreeBSD.org> | 2013-11-20 20:25:27 +0000 |
commit | 472b0e6b78a1a128f9336b34b8ee644e3376252d (patch) | |
tree | e1ae211904d1d9094c56fc3a0ebfda7c068e000b /sys/crypto | |
parent | e4deb800b079b97862b81dea42b242508a899080 (diff) | |
download | FreeBSD-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.c | 3 |
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); |