2024-05-10 14:45:38

by Sergey Portnoy

[permalink] [raw]
Subject: [PATCH v2] crypto: tcrypt - add skcipher speed for given alg

Allow to run skcipher speed for given algorithm.
Two separate cases are added to cover ENCRYPT and DECRYPT
directions.

Example:
modprobe tcrypt mode=611 alg="qat_aes_xts" klen=32

If succeed, the performance numbers will be printed in dmesg:
testing speed of multibuffer qat_aes_xts (qat_aes_xts) encryption
test 0 (256 bit key, 16 byte blocks): 1 operation in 14596 cycles (16 bytes)
...
test 6 (256 bit key, 4096 byte blocks): 1 operation in 8053 cycles (4096 bytes)

Signed-off-by: Sergey Portnoy <[email protected]>
---
v1 -> v2

- speed_template is moved to be on-stack and type was corrected to u8

crypto/tcrypt.c | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c
index 8aea416f6480..ffd94a0972ca 100644
--- a/crypto/tcrypt.c
+++ b/crypto/tcrypt.c
@@ -1454,6 +1454,8 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
int i;
int ret = 0;

+ u8 speed_template[2] = {klen, 0};
+
switch (m) {
case 0:
if (alg) {
@@ -2807,6 +2809,16 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
speed_template_16_32, num_mb);
break;

+ case 611:
+ if (alg)
+ test_mb_skcipher_speed(alg, ENCRYPT, sec, NULL, 0,
+ speed_template, num_mb);
+ break;
+ case 612:
+ if (alg)
+ test_mb_skcipher_speed(alg, DECRYPT, sec, NULL, 0,
+ speed_template, num_mb);
+ break;
}

return ret;
--
2.44.0