Recent changes (master)
Jens Axboe <[email protected]> Fri, 8 Aug 2025 06:00:01 -0600 (MDT)
| Newsgroups | org.kernel.vger.fio |
|---|---|
| Message-ID | <[email protected]> |
The following changes since commit b1b07c8dfbb562a949afd127d693e9c0cb009827:
ioengines: bump version number (2025-08-05 15:56:45 -0600)
are available in the Git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to f95cf49e1d2a8d2babb8aa385fb902d927533644:
crc: use ISA-L for crc64 NVMe if available (2025-08-07 10:54:04 -0400)
----------------------------------------------------------------
Vincent Fu (1):
crc: use ISA-L for crc64 NVMe if available
configure | 27 +++++++++++++++++++++++++++
crc/crc64.c | 13 +++++++++++++
2 files changed, 40 insertions(+)
---
Diff of recent changes:
diff --git a/configure b/configure
index 9e69dc4b..7a295eab 100755
--- a/configure
+++ b/configure
@@ -190,6 +190,7 @@ libnbd="no"
libnfs=""
xnvme=""
isal=""
+isal64=""
libblkio=""
libzbc=""
dfs=""
@@ -265,6 +266,8 @@ for opt do
;;
--disable-isal) isal="no"
;;
+ --disable-isal64) isal64="no"
+ ;;
--disable-libblkio) libblkio="no"
;;
--disable-tcmalloc) disable_tcmalloc="yes"
@@ -326,6 +329,7 @@ if test "$show_help" = "yes" ; then
echo "--enable-libnbd Enable libnbd (NBD engine) support"
echo "--disable-xnvme Disable xnvme support even if found"
echo "--disable-isal Disable isal support even if found"
+ echo "--disable-isal64 Disable isal CRC64 support even if found"
echo "--disable-libblkio Disable libblkio support even if found"
echo "--disable-libzbc Disable libzbc even if found"
echo "--disable-tcmalloc Disable tcmalloc support"
@@ -2693,6 +2697,26 @@ fi
print_config "isal" "$isal"
fi
+##########################################
+# Check ISA-L CRC64 Rocksoft support
+cat > $TMPC << EOF
+#include <isa-l/crc64.h>
+#include <stddef.h>
+int main(void)
+{
+ return crc64_rocksoft_refl(0, NULL, 4096);
+}
+EOF
+if test "$isal64" != "no" ; then
+ if compile_prog "" "-lisal" "ISAL"; then
+ isal64="yes"
+ LIBS="-lisal $LIBS"
+ else
+ isal64="no"
+ fi
+fi
+print_config "isal CRC64" "$isal64"
+
##########################################
# Check if we have libblkio
if test "$libblkio" != "no" ; then
@@ -3338,6 +3362,9 @@ fi
if test "$isal" = "yes" ; then
output_sym "CONFIG_LIBISAL"
fi
+if test "$isal64" = "yes" ; then
+ output_sym "CONFIG_LIBISAL64"
+fi
if test "$libblkio" = "yes" ; then
output_sym "CONFIG_LIBBLKIO"
echo "LIBBLKIO_CFLAGS=$libblkio_cflags" >> $config_host_mak
diff --git a/crc/crc64.c b/crc/crc64.c
index c910e5b8..aae54f40 100644
--- a/crc/crc64.c
+++ b/crc/crc64.c
@@ -114,6 +114,17 @@ unsigned long long fio_crc64(const unsigned char *buffer, unsigned long length)
return crc;
}
+#ifdef CONFIG_LIBISAL64
+#include <isa-l/crc64.h>
+
+unsigned long long fio_crc64_nvme(unsigned long long crc, const void *p,
+ unsigned int len)
+{
+ return crc64_rocksoft_refl(crc, p, len);
+}
+
+#else
+
/**
* fio_crc64_nvme - Calculate bitwise NVMe CRC64
* @crc: seed value for computation. 0 for a new CRC calculation, or the
@@ -134,3 +145,5 @@ unsigned long long fio_crc64_nvme(unsigned long long crc, const void *p,
return ~crc;
}
+
+#endif