diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2007-10-26 16:22:57 +0800 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2008-01-11 08:16:06 +1100 |
commit | 754f09a6827c1fe98d80b0b7cc4f011bbf2a9b95 (patch) | |
tree | 89f69991a2b5a371d3320fbab884f175f24cb2dd /crypto/algapi.c | |
parent | a94493fa6c6798a55448d411fbd0c2f9f44e6f55 (diff) | |
download | linux-crypto-754f09a6827c1fe98d80b0b7cc4f011bbf2a9b95.tar.gz linux-crypto-754f09a6827c1fe98d80b0b7cc4f011bbf2a9b95.zip |
[CRYPTO] twofish: Do not unroll big stuff in twofish key setup
Currently twofish cipher key setup code
has unrolled loops - approximately 70-100
instructions are repeated 40 times.
As a result, twofish module is the biggest module
in crypto/*.
Unrolling produces x2.5 more code (+18k on i386), and speeds up key
setup by 7%:
unrolled: twofish_setkey/sec: 41128
loop: twofish_setkey/sec: 38148
CALC_K256: ~100 insns each
CALC_K192: ~90 insns
CALC_K: ~70 insns
Attached patch removes this unrolling.
$ size */twofish_common.o
text data bss dec hex filename
37920 0 0 37920 9420 crypto.org/twofish_common.o
13209 0 0 13209 3399 crypto/twofish_common.o
Run tested (modprobe tcrypt reports ok). Please apply.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/algapi.c')
0 files changed, 0 insertions, 0 deletions