]> git.baikalelectronics.ru Git - kernel.git/commit
[CRYPTO] twofish: i586 assembly version
authorJoachim Fritschi <jfritschi@freenet.de>
Tue, 20 Jun 2006 10:59:16 +0000 (20:59 +1000)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 21 Sep 2006 01:16:28 +0000 (11:16 +1000)
commite14f1103b837a0c15869f74e994dd2a2a26405c7
tree57e09481226ab5a25f3938963f8299c9f0cd8439
parent7a412191bae6bf67ad5a095933e38244a4744696
[CRYPTO] twofish: i586 assembly version

The patch passed the trycpt tests and automated filesystem tests.
This rewrite resulted in some nice perfomance increase over my last patch.

Short summary of the tcrypt benchmarks:

Twofish Assembler vs. Twofish C (256bit 8kb block CBC)
encrypt: -33% Cycles
decrypt: -45% Cycles

Twofish Assembler vs. AES Assembler (128bit 8kb block CBC)
encrypt: +3%  Cycles
decrypt: -22% Cycles

Twofish Assembler vs. AES Assembler (256bit 8kb block CBC)
encrypt: -20% Cycles
decrypt: -36% Cycles

Full Output:
http://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-twofish-asm-i586.txt
http://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-twofish-c-i586.txt
http://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-aes-asm-i586.txt

Here is another bonnie++ benchmark with encrypted filesystems. All runs with
the twofish assembler modules max out the drivespeed. It should give some
idea what the module can do for encrypted filesystem performance even though
you can't see the full numbers.

http://homepages.tu-darmstadt.de/~fritschi/twofish/output_20060611_205432_x86.html

Signed-off-by: Joachim Fritschi <jfritschi@freenet.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/i386/crypto/Makefile
arch/i386/crypto/twofish-i586-asm.S [new file with mode: 0644]
arch/i386/crypto/twofish.c [new file with mode: 0644]
crypto/Kconfig