@@ -51,7 +51,6 @@ typedef struct {
5151
5252#define AT_STARTUP 0
5353#define AT_BENCHMARK 1
54- #define AT_DONE 2
5554
5655static chksum_stat_t * chksum_stat_data = 0 ;
5756static kstat_t * chksum_kstat = NULL ;
@@ -155,11 +154,11 @@ chksum_run(chksum_stat_t *cs, abd_t *abd, void *ctx, int round,
155154 switch (round ) {
156155 case 1 : /* 1k */
157156 size = 1 <<10 ; loops = 128 ; break ;
158- case 2 : /* 2k */
157+ case 2 : /* 4k */
159158 size = 1 <<12 ; loops = 64 ; break ;
160- case 3 : /* 4k */
159+ case 3 : /* 16k */
161160 size = 1 <<14 ; loops = 32 ; break ;
162- case 4 : /* 16k */
161+ case 4 : /* 64k */
163162 size = 1 <<16 ; loops = 16 ; break ;
164163 case 5 : /* 256k */
165164 size = 1 <<18 ; loops = 8 ; break ;
@@ -212,6 +211,7 @@ chksum_benchit(chksum_stat_t *cs)
212211 chksum_run (cs , abd , ctx , 2 , & cs -> bs4k );
213212 chksum_run (cs , abd , ctx , 3 , & cs -> bs16k );
214213 chksum_run (cs , abd , ctx , 4 , & cs -> bs64k );
214+ chksum_run (cs , abd , ctx , 5 , & cs -> bs256k );
215215 chksum_run (cs , abd , ctx , 6 , & cs -> bs1m );
216216 abd_free (abd );
217217
@@ -245,19 +245,16 @@ chksum_benchmark(void)
245245 const zfs_impl_t * sha256 = zfs_impl_get_ops ("sha256" );
246246 const zfs_impl_t * sha512 = zfs_impl_get_ops ("sha512" );
247247
248- /* benchmarks are done */
249- if (chksum_stat_limit == AT_DONE )
250- return ;
251-
252-
253248 /* 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 );
249+ if (chksum_stat_limit == AT_STARTUP ) {
250+ chksum_stat_cnt = 1 ; /* edonr */
251+ chksum_stat_cnt += 1 ; /* skein */
252+ chksum_stat_cnt += sha256 -> getcnt ();
253+ chksum_stat_cnt += sha512 -> getcnt ();
254+ chksum_stat_cnt += blake3 -> getcnt ();
255+ chksum_stat_data = kmem_zalloc (
256+ sizeof (chksum_stat_t ) * chksum_stat_cnt , KM_SLEEP );
257+ }
261258
262259 /* edonr - needs to be the first one here (slow CPU check) */
263260 cs = & chksum_stat_data [cbid ++ ];
@@ -333,15 +330,8 @@ chksum_benchmark(void)
333330 }
334331 blake3 -> setid (id_save );
335332
336- switch (chksum_stat_limit ) {
337- case AT_STARTUP :
338- /* next time we want a full benchmark */
333+ if (chksum_stat_limit == AT_STARTUP ) {
339334 chksum_stat_limit = AT_BENCHMARK ;
340- break ;
341- case AT_BENCHMARK :
342- /* no further benchmarks */
343- chksum_stat_limit = AT_DONE ;
344- break ;
345335 }
346336}
347337
0 commit comments