1
0
Fork 0
alistair23-linux/arch
Mathias Krause 0d258efb6a 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>
2010-11-27 16:34:46 +08:00
..
alpha alpha: remove dma64_addr_t usage 2010-10-27 18:03:17 -07:00
arm Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2010-10-27 19:04:36 -07:00
avr32 ptrace: cleanup arch_ptrace() on avr32 2010-10-27 18:03:10 -07:00
blackfin ptrace: cleanup arch_ptrace() and friends on Blackfin 2010-10-27 18:03:10 -07:00
cris ptrace: cleanup arch_ptrace() on cris 2010-10-27 18:03:10 -07:00
frv ptrace: cleanup arch_ptrace() on frv 2010-10-27 18:03:10 -07:00
h8300 ptrace: cleanup arch_ptrace() on h8300 2010-10-27 18:03:11 -07:00
ia64 taskstats: use real microsecond granularity for CPU times 2010-10-27 18:03:17 -07:00
m32r ptrace: cleanup arch_ptrace() on m32r 2010-10-27 18:03:11 -07:00
m68k ptrace: cleanup arch_ptrace() on m68k 2010-10-27 18:03:11 -07:00
m68knommu ptrace: cleanup arch_ptrace() on m68knommu 2010-10-27 18:03:11 -07:00
microblaze ptrace: cleanup arch_ptrace() on microblaze 2010-10-27 18:03:11 -07:00
mips mips: remove dma64_addr_t usage 2010-10-27 18:03:17 -07:00
mn10300 Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300 2010-10-27 18:53:26 -07:00
parisc ptrace: cleanup arch_ptrace() on parisc 2010-10-27 18:03:11 -07:00
powerpc Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2010-10-27 19:04:36 -07:00
s390 taskstats: use real microsecond granularity for CPU times 2010-10-27 18:03:17 -07:00
score ptrace: cleanup arch_ptrace() on score 2010-10-27 18:03:12 -07:00
sh ptrace: cleanup arch_ptrace() on sh 2010-10-27 18:03:12 -07:00
sparc sparc: remove dma64_addr_t usage 2010-10-27 18:03:17 -07:00
tile Remove duplicate includes from many files 2010-10-27 18:03:18 -07:00
um ptrace: cleanup arch_ptrace() on um 2010-10-27 18:03:12 -07:00
x86 crypto: aesni-intel - Ported implementation to x86-32 2010-11-27 16:34:46 +08:00
xtensa ptrace: cleanup arch_ptrace() on xtensa 2010-10-27 18:03:12 -07:00
.gitignore
Kconfig Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core 2010-09-24 09:12:05 +02:00