lib/crc_kunit.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
From: Eric Biggers <ebiggers@google.com>
None of the CRC library functions use __pure anymore, so the comment in
crc_benchmark() is outdated. But the comment was not really correct
anyway, since the CRC computation could (in principle) be optimized out
regardless of __pure. Update the comment to have a proper explanation.
Signed-off-by: Eric Biggers <ebiggers@google.com>
---
lib/crc_kunit.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/crc_kunit.c b/lib/crc_kunit.c
index 40b4b41f2184..d5a5045fd9ab 100644
--- a/lib/crc_kunit.c
+++ b/lib/crc_kunit.c
@@ -222,12 +222,13 @@ crc_benchmark(struct kunit *test,
static const size_t lens_to_test[] = {
1, 16, 64, 127, 128, 200, 256, 511, 512, 1024, 3173, 4096, 16384,
};
size_t len, i, j, num_iters;
/*
- * Some of the CRC library functions are marked as __pure, so use
- * volatile to ensure that all calls are really made as intended.
+ * The CRC value that this function computes in a series of calls to
+ * crc_func is never actually used, so use volatile to ensure that the
+ * computations are done as intended and don't all get optimized out.
*/
volatile u64 crc = 0;
u64 t;
if (!IS_ENABLED(CONFIG_CRC_BENCHMARK))
base-commit: 13f3d13d88b5dcba104a204fcbee61c75f8407d0
--
2.48.1
On Tue, Mar 04, 2025 at 05:58:30PM -0800, Eric Biggers wrote: > From: Eric Biggers <ebiggers@google.com> > > None of the CRC library functions use __pure anymore, so the comment in > crc_benchmark() is outdated. But the comment was not really correct > anyway, since the CRC computation could (in principle) be optimized out > regardless of __pure. Update the comment to have a proper explanation. > > Signed-off-by: Eric Biggers <ebiggers@google.com> > --- > lib/crc_kunit.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) Applied to https://web.git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git/log/?h=crc-next - Eric
© 2016 - 2026 Red Hat, Inc.