RE: [PATCH] crypto: tcrypt - add skcipher speed for given alg

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Sergey Portnoy <sergey.portnoy@xxxxxxxxx>
> Sent: Thursday, May 9, 2024 6:36 AM
> To: herbert@xxxxxxxxxxxxxxxxxxx
> Cc: linux-crypto@xxxxxxxxxxxxxxx; qat-linux@xxxxxxxxx
> Subject: [PATCH] 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 <sergey.portnoy@xxxxxxxxx>
> ---
>  crypto/tcrypt.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c
> index 8aea416f6480..73bea38c8112 100644
> --- a/crypto/tcrypt.c
> +++ b/crypto/tcrypt.c
> @@ -68,6 +68,7 @@ static int mode;
>  static u32 num_mb = 8;
>  static unsigned int klen;
>  static char *tvmem[TVMEMSIZE];
> +static char speed_template[2];

u8 would better match the source:
    static unsigned int klen;
    module_param(klen, uint, 0);
    MODULE_PARM_DESC(klen, "Key length (defaults to 0)");

and use as the keysize argument in:
    static void test_mb_skcipher_speed(const char *algo, int enc, int secs,
                                   struct cipher_speed_template *template,
                                   unsigned int tcount, u8 *keysize, u32 num_mb)

and the other constant speed test arrays like:
    static u8 speed_template_8[] = {8, 0};
    static u8 speed_template_16[] = {16, 0};
    static u8 speed_template_24[] = {24, 0};

...
> +	case 611:
> +		speed_template[0] = klen;
> +		if (alg)
> +			test_mb_skcipher_speed(alg, ENCRYPT, sec, NULL, 0,
> +					       speed_template, num_mb);
> +		break;
> +	case 612:
> +		speed_template[0] = klen;
> +		if (alg)
> +			test_mb_skcipher_speed(alg, DECRYPT, sec, NULL, 0,
> +					       speed_template, num_mb);
> +		break;

Since it's only two bytes, perhaps it should just be an on-stack variable
inside each of those if blocks, not a file-scope variable.







[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]
  Powered by Linux