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 | e2b21b5002a2bf21ca73c7448309a7288a984ddf (patch) | |
tree | 11e55173debdb2428a37655968ceef39786f2383 /init | |
parent | b7a30da61adc5f252ee97b2a4f3fc23c9d06a08a (diff) | |
download | linux-e2b21b5002a2bf21ca73c7448309a7288a984ddf.tar.gz linux-e2b21b5002a2bf21ca73c7448309a7288a984ddf.tar.bz2 linux-e2b21b5002a2bf21ca73c7448309a7288a984ddf.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 'init')
0 files changed, 0 insertions, 0 deletions