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