freebsd-dev/sys/opencrypto
Matt Macy ff2038a9bf Generalize AES iov optimization
Right now, aesni_cipher_alloc does a bit of special-casing
for CRYPTO_F_IOV, to not do any allocation if the first uio
is large enough for the requested size. While working on ZFS
crypto port, I ran into horrible performance because the code
uses scatter-gather, and many of the times the data to encrypt
was in the second entry. This code looks through the list, and
tries to see if there is a single uio that can contain the
requested data, and, if so, uses that.

This has a slight impact on the current consumers, in that the
check is a little more complicated for the ones that use
CRYPTO_F_IOV -- but none of them meet the criteria for testing
more than one.

Submitted by:	sef at ixsystems.com
Reviewed by:	cem@
MFC after:	3 days
Sponsored by:	iX Systems
Differential Revision:	https://reviews.freebsd.org/D18522
2018-12-13 04:40:53 +00:00
..
_cryptodev.h OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
cast.c
cast.h
castsb.h
criov.c Generalize AES iov optimization 2018-12-13 04:40:53 +00:00
crypto.c Make timespecadd(3) and friends public 2018-07-30 15:46:40 +00:00
cryptodeflate.c
cryptodev_if.m OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
cryptodev.c crypto(4): Add cryptosoft, cryptodev support for Poly-1305 2018-08-17 00:31:06 +00:00
cryptodev.h Generalize AES iov optimization 2018-12-13 04:40:53 +00:00
cryptosoft.c Add per-session locking to cryptosoft (swcr). 2018-09-26 20:23:12 +00:00
cryptosoft.h Add per-session locking to cryptosoft (swcr). 2018-09-26 20:23:12 +00:00
deflate.h
gfmult.c
gfmult.h
gmac.c
gmac.h
rmd160.c
rmd160.h
skipjack.c
skipjack.h
xform_aes_icm.c
xform_aes_xts.c
xform_auth.h Add sha224 to the authctx union. 2018-10-23 18:07:37 +00:00
xform_blf.c
xform_cast5.c
xform_cml.c
xform_comp.h
xform_deflate.c
xform_des1.c
xform_des3.c
xform_enc.h opencrypto: Integrate Chacha20 algorithm into OCF 2018-03-29 04:02:50 +00:00
xform_gmac.c
xform_md5.c Remove "HMAC" from <HASH>_HMAC_BLOCK_LEN macro names 2018-07-09 07:21:37 +00:00
xform_null.c opencrypto: Use C99 initializers for auth_hash instances 2017-09-26 17:52:52 +00:00
xform_poly1305.c Add xform-conforming auth_hash wrapper for Poly-1305 2018-08-17 00:30:04 +00:00
xform_poly1305.h Add xform-conforming auth_hash wrapper for Poly-1305 2018-08-17 00:30:04 +00:00
xform_rijndael.c
xform_rmd160.c Remove "HMAC" from <HASH>_HMAC_BLOCK_LEN macro names 2018-07-09 07:21:37 +00:00
xform_sha1.c OCF: Add plain hash modes 2018-07-09 07:28:13 +00:00
xform_sha2.c OCF: Add plain hash modes 2018-07-09 07:28:13 +00:00
xform_skipjack.c
xform_userland.h We don't need both _STAND and _STANDALONE. There's more places that 2017-12-02 00:07:09 +00:00
xform.c
xform.h