Skip to content

Commit b64efbd

Browse files
lzsaveradamdmoss
andcommitted
zfs_chksum: run 256K benchmark on demand
ZFS-CI-Type: full Signed-off-by: Alexx Saver <[email protected]> Reviewed-by: Tino Reichardt <[email protected]> Reviewed-by: Alexander Motin <[email protected]> Co-authored-by: Adam Moss <[email protected]> Close #17945
1 parent 7f7d493 commit b64efbd

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

module/zfs/zfs_chksum.c

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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;
@@ -212,6 +212,7 @@ chksum_benchit(chksum_stat_t *cs)
212212
chksum_run(cs, abd, ctx, 2, &cs->bs4k);
213213
chksum_run(cs, abd, ctx, 3, &cs->bs16k);
214214
chksum_run(cs, abd, ctx, 4, &cs->bs64k);
215+
chksum_run(cs, abd, ctx, 5, &cs->bs256k);
215216
chksum_run(cs, abd, ctx, 6, &cs->bs1m);
216217
abd_free(abd);
217218

@@ -249,15 +250,16 @@ chksum_benchmark(void)
249250
if (chksum_stat_limit == AT_DONE)
250251
return;
251252

252-
253253
/* 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);
254+
if (chksum_stat_limit == AT_STARTUP) {
255+
chksum_stat_cnt = 1; /* edonr */
256+
chksum_stat_cnt += 1; /* skein */
257+
chksum_stat_cnt += sha256->getcnt();
258+
chksum_stat_cnt += sha512->getcnt();
259+
chksum_stat_cnt += blake3->getcnt();
260+
chksum_stat_data = kmem_zalloc(
261+
sizeof (chksum_stat_t) * chksum_stat_cnt, KM_SLEEP);
262+
}
261263

262264
/* edonr - needs to be the first one here (slow CPU check) */
263265
cs = &chksum_stat_data[cbid++];

0 commit comments

Comments
 (0)