@@ -155,11 +155,11 @@ chksum_run(chksum_stat_t *cs, abd_t *abd, void *ctx, int round,
155155 switch (round ) {
156156 case 1 : /* 1k */
157157 size = 1 <<10 ; loops = 128 ; break ;
158- case 2 : /* 2k */
158+ case 2 : /* 4k */
159159 size = 1 <<12 ; loops = 64 ; break ;
160- case 3 : /* 4k */
160+ case 3 : /* 16k */
161161 size = 1 <<14 ; loops = 32 ; break ;
162- case 4 : /* 16k */
162+ case 4 : /* 64k */
163163 size = 1 <<16 ; loops = 16 ; break ;
164164 case 5 : /* 256k */
165165 size = 1 <<18 ; loops = 8 ; break ;
@@ -249,15 +249,16 @@ chksum_benchmark(void)
249249 if (chksum_stat_limit == AT_DONE )
250250 return ;
251251
252-
253- /* count implementations */
254- chksum_stat_cnt = 1 ; /* edonr */
255- chksum_stat_cnt += 1 ; /* skein */
256- chksum_stat_cnt += sha256 -> getcnt ();
257- chksum_stat_cnt += sha512 -> getcnt ();
258- chksum_stat_cnt += blake3 -> getcnt ();
259- chksum_stat_data = kmem_zalloc (
260- sizeof (chksum_stat_t ) * chksum_stat_cnt , KM_SLEEP );
252+ if (chksum_stat_data == NULL ) {
253+ /* count implementations */
254+ chksum_stat_cnt = 1 ; /* edonr */
255+ chksum_stat_cnt += 1 ; /* skein */
256+ chksum_stat_cnt += sha256 -> getcnt ();
257+ chksum_stat_cnt += sha512 -> getcnt ();
258+ chksum_stat_cnt += blake3 -> getcnt ();
259+ chksum_stat_data = kmem_zalloc (
260+ sizeof (chksum_stat_t ) * chksum_stat_cnt , KM_SLEEP );
261+ }
261262
262263 /* edonr - needs to be the first one here (slow CPU check) */
263264 cs = & chksum_stat_data [cbid ++ ];
0 commit comments