[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)
commitb9f535ffe38f7eb61ac2219d32d97c377b69f70d
tree57e09481226ab5a25f3938963f8299c9f0cd8439
parent758f570ea785a5fbcdca026dfab2e9e1a3f89726
[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