xref: /isa-l_crypto/examples/saturation_test/isal_multithread_perf.h (revision 2a268c597b745b55509ea38d00753e5caa85e9ac)
1 
2 #ifndef ISAL_MULTITHREAD_PERF_H_
3 #define ISAL_MULTITHREAD_PERF_H_
4 
5 #include "isa-l_crypto.h"
6 
7 /* multibuffer hash */
8 void *md5_ossl_func(void *arg);
9 void *md5_mb_func(void *arg);
10 void *sha1_ossl_func(void *arg);
11 void *sha1_mb_func(void *arg);
12 void *sha256_ossl_func(void *arg);
13 void *sha256_mb_func(void *arg);
14 void *sha512_ossl_func(void *arg);
15 void *sha512_mb_func(void *arg);
16 
17 /* aes */
18 void *cbc_128_dec_func(void *arg);
19 void *cbc_192_dec_func(void *arg);
20 void *cbc_256_dec_func(void *arg);
21 void *xts_128_enc_func(void *arg);
22 void *xts_256_enc_func(void *arg);
23 #define AAD_LENGTH   16
24 void *gcm_128_enc_func(void *arg);
25 void *gcm_256_enc_func(void *arg);
26 
27 
28 typedef struct {
29 	char *name;
30 	void *(*thread_func) (void *arg);
31 	uint32_t rounds_nbuf;	/* bufs number of one processing round */
32 } alg_method;
33 
34 
35 /* Global parameters*/
36 extern long long run_secs;
37 extern uint32_t num_threads;
38 extern uint32_t buflen;
39 extern uint32_t prememcpy;
40 extern uint32_t postmemcpy;
41 
42 extern pthread_mutex_t count_lock;
43 extern pthread_cond_t count_cond;
44 extern volatile uint32_t count;
45 
46 extern int verbose;
47 #define printfv(format, args...) { \
48 	if (verbose) \
49 		printf (format, ##args); \
50 }
51 
52 #endif /* ISAL_MULTITHREAD_PERF_H_ */
53