aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorMathias Krause <minipli@googlemail.com>2010-11-27 03:34:46 -0500
committerHerbert Xu <herbert@gondor.apana.org.au>2010-11-27 03:34:46 -0500
commit0d258efb6a58fe047197c3b9cff8746bb176d58a (patch)
tree8576f2af5212ec50509de1071cf7afe1ed9531a8 /crypto
parent21ea28abcf825729f9698afd7357dfbf7040d4f8 (diff)
crypto: aesni-intel - Ported implementation to x86-32
The AES-NI instructions are also available in legacy mode so the 32-bit architecture may profit from those, too. To illustrate the performance gain here's a short summary of a dm-crypt speed test on a Core i7 M620 running at 2.67GHz comparing both assembler implementations: x86: i568 aes-ni delta ECB, 256 bit: 93.8 MB/s 123.3 MB/s +31.4% CBC, 256 bit: 84.8 MB/s 262.3 MB/s +209.3% LRW, 256 bit: 108.6 MB/s 222.1 MB/s +104.5% XTS, 256 bit: 105.0 MB/s 205.5 MB/s +95.7% Additionally, due to some minor optimizations, the 64-bit version also got a minor performance gain as seen below: x86-64: old impl. new impl. delta ECB, 256 bit: 121.1 MB/s 123.0 MB/s +1.5% CBC, 256 bit: 285.3 MB/s 290.8 MB/s +1.9% LRW, 256 bit: 263.7 MB/s 265.3 MB/s +0.6% XTS, 256 bit: 251.1 MB/s 255.3 MB/s +1.7% Signed-off-by: Mathias Krause <minipli@googlemail.com> Reviewed-by: Huang Ying <ying.huang@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/Kconfig12
1 files changed, 7 insertions, 5 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig
index 69437e21217f..467491df3e3a 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -539,8 +539,9 @@ config CRYPTO_AES_X86_64
539 539
540config CRYPTO_AES_NI_INTEL 540config CRYPTO_AES_NI_INTEL
541 tristate "AES cipher algorithms (AES-NI)" 541 tristate "AES cipher algorithms (AES-NI)"
542 depends on (X86 || UML_X86) && 64BIT 542 depends on (X86 || UML_X86)
543 select CRYPTO_AES_X86_64 543 select CRYPTO_AES_X86_64 if 64BIT
544 select CRYPTO_AES_586 if !64BIT
544 select CRYPTO_CRYPTD 545 select CRYPTO_CRYPTD
545 select CRYPTO_ALGAPI 546 select CRYPTO_ALGAPI
546 select CRYPTO_FPU 547 select CRYPTO_FPU
@@ -563,9 +564,10 @@ config CRYPTO_AES_NI_INTEL
563 564
564 See <http://csrc.nist.gov/encryption/aes/> for more information. 565 See <http://csrc.nist.gov/encryption/aes/> for more information.
565 566
566 In addition to AES cipher algorithm support, the 567 In addition to AES cipher algorithm support, the acceleration
567 acceleration for some popular block cipher mode is supported 568 for some popular block cipher mode is supported too, including
568 too, including ECB, CBC, CTR, LRW, PCBC, XTS. 569 ECB, CBC, LRW, PCBC, XTS. The 64 bit version has additional
570 acceleration for CTR.
569 571
570config CRYPTO_ANUBIS 572config CRYPTO_ANUBIS
571 tristate "Anubis cipher algorithm" 573 tristate "Anubis cipher algorithm"