diff options
| author | Huang Ying <ying.huang@intel.com> | 2010-03-10 05:30:32 -0500 |
|---|---|---|
| committer | Herbert Xu <herbert@gondor.apana.org.au> | 2010-03-10 05:30:32 -0500 |
| commit | 18bcc9194da3c97e8f458fb1b06ac5b9b35fb23f (patch) | |
| tree | 67b26424b0bad61cad8ea175b941333137b32f80 /crypto | |
| parent | 12387a46bb150f5608de4aa9a90dfdddbf991e3f (diff) | |
crypto: tcrypt - Speed testing support for ghash
Because ghash needs setkey, the setkey and keysize template support
for test_hash_speed is added.
Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
| -rw-r--r-- | crypto/tcrypt.c | 7 | ||||
| -rw-r--r-- | crypto/tcrypt.h | 29 |
2 files changed, 36 insertions, 0 deletions
diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c index aa3f84ccc786..0b7a8435255b 100644 --- a/crypto/tcrypt.c +++ b/crypto/tcrypt.c | |||
| @@ -437,6 +437,9 @@ static void test_hash_speed(const char *algo, unsigned int sec, | |||
| 437 | goto out; | 437 | goto out; |
| 438 | } | 438 | } |
| 439 | 439 | ||
| 440 | if (speed[i].klen) | ||
| 441 | crypto_hash_setkey(tfm, tvmem[0], speed[i].klen); | ||
| 442 | |||
| 440 | printk(KERN_INFO "test%3u " | 443 | printk(KERN_INFO "test%3u " |
| 441 | "(%5u byte blocks,%5u bytes per update,%4u updates): ", | 444 | "(%5u byte blocks,%5u bytes per update,%4u updates): ", |
| 442 | i, speed[i].blen, speed[i].plen, speed[i].blen / speed[i].plen); | 445 | i, speed[i].blen, speed[i].plen, speed[i].blen / speed[i].plen); |
| @@ -881,6 +884,10 @@ static int do_test(int m) | |||
| 881 | test_hash_speed("rmd320", sec, generic_hash_speed_template); | 884 | test_hash_speed("rmd320", sec, generic_hash_speed_template); |
| 882 | if (mode > 300 && mode < 400) break; | 885 | if (mode > 300 && mode < 400) break; |
| 883 | 886 | ||
| 887 | case 318: | ||
| 888 | test_hash_speed("ghash-generic", sec, hash_speed_template_16); | ||
| 889 | if (mode > 300 && mode < 400) break; | ||
| 890 | |||
| 884 | case 399: | 891 | case 399: |
| 885 | break; | 892 | break; |
| 886 | 893 | ||
diff --git a/crypto/tcrypt.h b/crypto/tcrypt.h index 966bbfaf95b1..10cb925132c9 100644 --- a/crypto/tcrypt.h +++ b/crypto/tcrypt.h | |||
| @@ -25,6 +25,7 @@ struct cipher_speed_template { | |||
| 25 | struct hash_speed { | 25 | struct hash_speed { |
| 26 | unsigned int blen; /* buffer length */ | 26 | unsigned int blen; /* buffer length */ |
| 27 | unsigned int plen; /* per-update length */ | 27 | unsigned int plen; /* per-update length */ |
| 28 | unsigned int klen; /* key length */ | ||
| 28 | }; | 29 | }; |
| 29 | 30 | ||
| 30 | /* | 31 | /* |
| @@ -83,4 +84,32 @@ static struct hash_speed generic_hash_speed_template[] = { | |||
| 83 | { .blen = 0, .plen = 0, } | 84 | { .blen = 0, .plen = 0, } |
| 84 | }; | 85 | }; |
| 85 | 86 | ||
| 87 | static struct hash_speed hash_speed_template_16[] = { | ||
| 88 | { .blen = 16, .plen = 16, .klen = 16, }, | ||
| 89 | { .blen = 64, .plen = 16, .klen = 16, }, | ||
| 90 | { .blen = 64, .plen = 64, .klen = 16, }, | ||
| 91 | { .blen = 256, .plen = 16, .klen = 16, }, | ||
| 92 | { .blen = 256, .plen = 64, .klen = 16, }, | ||
| 93 | { .blen = 256, .plen = 256, .klen = 16, }, | ||
| 94 | { .blen = 1024, .plen = 16, .klen = 16, }, | ||
| 95 | { .blen = 1024, .plen = 256, .klen = 16, }, | ||
| 96 | { .blen = 1024, .plen = 1024, .klen = 16, }, | ||
| 97 | { .blen = 2048, .plen = 16, .klen = 16, }, | ||
| 98 | { .blen = 2048, .plen = 256, .klen = 16, }, | ||
| 99 | { .blen = 2048, .plen = 1024, .klen = 16, }, | ||
| 100 | { .blen = 2048, .plen = 2048, .klen = 16, }, | ||
| 101 | { .blen = 4096, .plen = 16, .klen = 16, }, | ||
| 102 | { .blen = 4096, .plen = 256, .klen = 16, }, | ||
| 103 | { .blen = 4096, .plen = 1024, .klen = 16, }, | ||
| 104 | { .blen = 4096, .plen = 4096, .klen = 16, }, | ||
| 105 | { .blen = 8192, .plen = 16, .klen = 16, }, | ||
| 106 | { .blen = 8192, .plen = 256, .klen = 16, }, | ||
| 107 | { .blen = 8192, .plen = 1024, .klen = 16, }, | ||
| 108 | { .blen = 8192, .plen = 4096, .klen = 16, }, | ||
| 109 | { .blen = 8192, .plen = 8192, .klen = 16, }, | ||
| 110 | |||
| 111 | /* End marker */ | ||
| 112 | { .blen = 0, .plen = 0, .klen = 0, } | ||
| 113 | }; | ||
| 114 | |||
| 86 | #endif /* _CRYPTO_TCRYPT_H */ | 115 | #endif /* _CRYPTO_TCRYPT_H */ |
