diff options
author | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2013-04-08 21:51:16 +0300 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2013-04-25 21:01:53 +0800 |
commit | c456a9cd1ac4eae9147ffd7ac4fb77ca0fa980c6 (patch) | |
tree | f8e88f1e30b24e08104367fc6244dab88cd90d0e /crypto | |
parent | b5c5b072dc2f35d45d3404b957e264a3e8e71069 (diff) | |
download | linux-stable-c456a9cd1ac4eae9147ffd7ac4fb77ca0fa980c6.tar.gz linux-stable-c456a9cd1ac4eae9147ffd7ac4fb77ca0fa980c6.tar.bz2 linux-stable-c456a9cd1ac4eae9147ffd7ac4fb77ca0fa980c6.zip |
crypto: aesni_intel - add more optimized XTS mode for x86-64
Add more optimized XTS code for aesni_intel in 64-bit mode, for smaller stack
usage and boost for speed.
tcrypt results, with Intel i5-2450M:
256-bit key
enc dec
16B 0.98x 0.99x
64B 0.64x 0.63x
256B 1.29x 1.32x
1024B 1.54x 1.58x
8192B 1.57x 1.60x
512-bit key
enc dec
16B 0.98x 0.99x
64B 0.60x 0.59x
256B 1.24x 1.25x
1024B 1.39x 1.42x
8192B 1.38x 1.42x
I chose not to optimize smaller than block size of 256 bytes, since XTS is
practically always used with data blocks of size 512 bytes. This is why
performance is reduced in tcrypt for 64 byte long blocks.
Cc: Huang Ying <ying.huang@intel.com>
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/Kconfig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig index c1142f31a00c..808ac374b21f 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig @@ -678,6 +678,7 @@ config CRYPTO_AES_NI_INTEL select CRYPTO_CRYPTD select CRYPTO_ABLK_HELPER_X86 select CRYPTO_ALGAPI + select CRYPTO_GLUE_HELPER if 64BIT select CRYPTO_LRW select CRYPTO_XTS help |