Skip to content

Commit 8382088

Browse files
lzsaveradamdmoss
andcommitted
zfs_chksum: preserve chksum_stat_data between runs
ZFS-CI-Type: linux 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 8382088

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

module/zfs/zfs_chksum.c

Lines changed: 13 additions & 12 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;
@@ -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

Comments
 (0)