chandramouli narayanan
7c1da8d0d0
crypto: sha - SHA1 transform x86_64 AVX2
...
This git patch adds x86_64 AVX2 optimization of SHA1
transform to crypto support. The patch has been tested with 3.14.0-rc1
kernel.
On a Haswell desktop, with turbo disabled and all cpus running
at maximum frequency, tcrypt shows AVX2 performance improvement
from 3% for 256 bytes update to 16% for 1024 bytes update over
AVX implementation.
This patch adds sha1_avx2_transform(), the glue, build and
configuration changes needed for AVX2 optimization of
SHA1 transform to crypto support.
sha1-ssse3 is one module which adds the necessary optimization
support (SSSE3/AVX/AVX2) for the low-level SHA1 transform function.
With better optimization support, transform function is overridden
as the case may be. In the case of AVX2, due to performance reasons
across datablock sizes, the AVX or AVX2 transform function is used
at run-time as it suits best. The Makefile change therefore appends
the necessary objects to the linkage. Due to this, the patch merely
appends AVX2 transform to the existing build mix and Kconfig support
and leaves the configuration build support as is.
Signed-off-by: Chandramouli Narayanan <mouli@linux.intel.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Acked-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2014-03-21 21:54:30 +08:00
..
asymmetric_keys
Revert "KEYS: verify a certificate is signed by a 'trusted' key"
2013-11-23 16:38:17 -08:00
async_tx
Merge commit 'dmaengine-3.13-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine
2013-11-16 12:02:36 +05:30
842.c
crypto: 842 - remove .cra_list initialization
2012-09-07 04:17:06 +08:00
ablk_helper.c
crypto: ablk_helper - Replace memcpy with struct assignment
2013-10-07 14:16:57 +08:00
ablkcipher.c
crypto: skcipher - Use eseqiv even on UP machines
2013-10-30 09:51:45 +08:00
aead.c
crypto: user - fix info leaks in report API
2013-02-19 20:27:03 +08:00
aes_generic.c
crypto: make tables used from assembler __visible
2013-08-14 20:42:03 +10:00
af_alg.c
tree-wide: use reinit_completion instead of INIT_COMPLETION
2013-11-15 09:32:21 +09:00
ahash.c
crypto: hash - Simplify the ahash_finup implementation
2014-03-21 21:54:22 +08:00
algapi.c
crypto: sanitize argument for format string
2013-07-03 16:07:25 -07:00
algboss.c
crypto: algboss - Hold ref count on larval
2013-06-25 19:15:17 +08:00
algif_hash.c
net: update consumers of MSG_MORE to recognize MSG_SENDPAGE_NOTLAST
2013-11-29 16:32:54 -05:00
algif_skcipher.c
net: update consumers of MSG_MORE to recognize MSG_SENDPAGE_NOTLAST
2013-11-29 16:32:54 -05:00
ansi_cprng.c
crypto: ansi_cprng - Fix off by one error in non-block size request
2013-09-24 06:02:23 +10:00
anubis.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
api.c
crypto: api - Fix race condition in larval lookup
2013-09-08 14:33:50 +10:00
arc4.c
crypto: arc4 - improve performance by using u32 for ctx and variables
2012-06-14 10:07:23 +08:00
authenc.c
crypto: authenc - Find proper IV address in ablkcipher callback
2013-11-28 22:16:23 +08:00
authencesn.c
crypto: authencesn - Simplify key parsing
2013-10-16 20:56:25 +08:00
blkcipher.c
crypto: allow blkcipher walks over AEAD data
2014-03-10 20:17:11 +08:00
blowfish_common.c
blowfish_generic.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
camellia_generic.c
crypto: camellia_generic - replace commas by semicolons and adjust code alignment
2013-08-21 21:08:33 +10:00
cast5_generic.c
crypto: cast5/cast6 - move lookup tables to shared module
2012-12-06 17:16:26 +08:00
cast6_generic.c
crypto: cast5/cast6 - move lookup tables to shared module
2012-12-06 17:16:26 +08:00
cast_common.c
crypto: make tables used from assembler __visible
2013-08-14 20:42:03 +10:00
cbc.c
ccm.c
crypto: ccm - Fix handling of zero plaintext when computing mac
2013-11-28 22:25:17 +08:00
chainiv.c
crypto: use ERR_CAST
2013-02-04 21:16:53 +08:00
cipher.c
cmac.c
crypto: add CMAC support to CryptoAPI
2013-04-25 21:01:47 +08:00
compress.c
crc32.c
crypto: crc32 - add crc32 pclmulqdq implementation and wrappers for table implementation
2013-01-20 10:16:45 +11:00
crc32c_generic.c
CRC32C: Add soft module dependency to load other accelerated crc32c modules
2014-02-25 19:45:04 +08:00
crct10dif_common.c
crypto: crct10dif - Add fallback for broken initrds
2013-09-12 15:31:34 +10:00
crct10dif_generic.c
crypto: crct10dif - Add fallback for broken initrds
2013-09-12 15:31:34 +10:00
cryptd.c
crypto: cryptd - disable softirqs in cryptd_queue_worker to prevent data corruption
2012-10-24 21:21:18 +08:00
crypto_null.c
crypto: export NULL algorithms defines
2014-03-21 21:54:26 +08:00
crypto_user.c
crypto: user - constify netlink dispatch table
2013-03-10 16:46:43 +08:00
crypto_wq.c
crypto: crypto_wq - Fix late crypto work queue initialization
2014-03-21 21:54:28 +08:00
ctr.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2013-02-25 15:56:15 -08:00
cts.c
crypto: use ERR_CAST
2013-02-04 21:16:53 +08:00
deflate.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
des_generic.c
crypto: des - use crypto_[un]register_algs
2012-08-01 17:47:24 +08:00
ecb.c
eseqiv.c
fcrypt.c
crypto: fcrypt - Fix bitoperation for compilation with clang
2013-09-02 20:32:58 +10:00
fips.c
gcm.c
crypto: crypto_memneq - add equality testing of memory regions w/o timing leaks
2013-10-07 14:17:06 +08:00
gf128mul.c
ghash-generic.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
hash_info.c
crypto: provide single place for hash algo information
2013-10-25 17:14:03 -04:00
hmac.c
internal.h
crypto: algboss - Hold ref count on larval
2013-06-25 19:15:17 +08:00
Kconfig
crypto: sha - SHA1 transform x86_64 AVX2
2014-03-21 21:54:30 +08:00
khazad.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
krng.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
lrw.c
lz4.c
crypto: add lz4 Cryptographic API
2013-07-09 10:33:30 -07:00
lz4hc.c
crypto: add lz4 Cryptographic API
2013-07-09 10:33:30 -07:00
lzo.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
Makefile
CRC32C: Add soft module dependency to load other accelerated crc32c modules
2014-02-25 19:45:04 +08:00
md4.c
md5.c
memneq.c
crypto: memneq - fix for archs without efficient unaligned access
2013-12-09 20:09:12 +08:00
michael_mic.c
pcbc.c
pcompress.c
crypto: user - fix info leaks in report API
2013-02-19 20:27:03 +08:00
pcrypt.c
crypto: pcrypt - Fix wrong usage of rcu_dereference()
2013-12-05 21:28:42 +08:00
proc.c
ripemd.h
rmd128.c
rmd160.c
rmd256.c
rmd320.c
rng.c
crypto: user - fix info leaks in report API
2013-02-19 20:27:03 +08:00
salsa20_generic.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
scatterwalk.c
crypto: scatterwalk - Add support for calculating number of SG elements
2013-08-21 21:27:58 +10:00
seed.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
seqiv.c
crypto: use ERR_CAST
2013-02-04 21:16:53 +08:00
serpent_generic.c
crypto: serpent - use crypto_[un]register_algs
2012-08-01 17:47:25 +08:00
sha1_generic.c
sha256_generic.c
crypto: sha256 - Expose SHA256 generic routine to be callable externally.
2013-04-03 09:06:31 +08:00
sha512_generic.c
crypto: sha512_generic - set cra_driver_name
2013-05-28 15:43:04 +08:00
shash.c
crypto: user - fix info leaks in report API
2013-02-19 20:27:03 +08:00
tcrypt.c
crypto: testmgr - add aead null encryption test vectors
2014-03-21 21:54:27 +08:00
tcrypt.h
crypto: tcrypt - Added speed tests for AEAD crypto alogrithms in tcrypt test suite
2013-12-20 20:06:25 +08:00
tea.c
crypto: tea - use crypto_[un]register_algs
2012-08-01 17:47:24 +08:00
testmgr.c
crypto: testmgr - add aead null encryption test vectors
2014-03-21 21:54:27 +08:00
testmgr.h
crypto: testmgr - add aead null encryption test vectors
2014-03-21 21:54:27 +08:00
tgr192.c
crypto: tiger - use crypto_[un]register_shashes
2012-08-01 17:47:26 +08:00
twofish_common.c
twofish_generic.c
crypto: cleanup - remove unneeded crypto_alg.cra_list initializations
2012-08-01 17:47:27 +08:00
vmac.c
crypto: vmac - Make VMAC work when blocks aren't aligned
2012-10-15 22:33:20 +08:00
wp512.c
crypto: whirlpool - use crypto_[un]register_shashes
2012-08-01 17:47:27 +08:00
xcbc.c
xor.c
add further __init annotations to crypto/xor.c
2012-10-11 13:42:32 +11:00
xts.c
zlib.c