db6b56441e
When performing encryption in software, the KTLS crypto callback always locks the session to deliver a wakeup. But, if we're handling the operation synchronously this is wasted effort and can result in sleepqueue lock contention on large systems. Use CRYPTO_SESS_SYNC() to determine whether the operation will be completed asynchronously or not, and select a callback appropriately. Avoid locking the session to check for completion if the session handles requests synchronously. Reviewed by: jhb Sponsored by: Ampere Computing Submitted by: Klara, Inc. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D28195 |
||
---|---|---|
.. | ||
_cryptodev.h | ||
cbc_mac.c | ||
cbc_mac.h | ||
criov.c | ||
crypto.c | ||
cryptodeflate.c | ||
cryptodev_if.m | ||
cryptodev.c | ||
cryptodev.h | ||
cryptosoft.c | ||
deflate.h | ||
gfmult.c | ||
gfmult.h | ||
gmac.c | ||
gmac.h | ||
ktls_ocf.c | ||
rmd160.c | ||
rmd160.h | ||
xform_aes_icm.c | ||
xform_aes_xts.c | ||
xform_auth.h | ||
xform_cbc_mac.c | ||
xform_cml.c | ||
xform_comp.h | ||
xform_deflate.c | ||
xform_enc.h | ||
xform_gmac.c | ||
xform_null.c | ||
xform_poly1305.c | ||
xform_poly1305.h | ||
xform_rijndael.c | ||
xform_rmd160.c | ||
xform_sha1.c | ||
xform_sha2.c | ||
xform.c | ||
xform.h |