The following changes since commit fd1d8e0ab3dc852193037a3acebcf8b8bdbcd9c5: filesetup: create zbd_info before jumping to done label (2021-12-02 17:54:15 -0700) are available in the Git repository at: git://git.kernel.dk/fio.git master for you to fetch changes up to fab60fa78a1832c17f8bb200292ded4a8b3eb2a5: Merge branch 'arm-detect-pmull' of https://github.com/sitsofe/fio (2021-12-06 13:26:52 -0700) ---------------------------------------------------------------- Jens Axboe (1): Merge branch 'arm-detect-pmull' of https://github.com/sitsofe/fio Sitsofe Wheeler (1): os: detect PMULL support before enabling accelerated crc32c on ARM Vincent Fu (2): io_ddir: return appropriate string for DDIR_INVAL libfio: drop unneeded reset of rwmix_issues io_ddir.h | 2 +- libfio.c | 1 - os/os-linux.h | 6 +++++- 3 files changed, 6 insertions(+), 3 deletions(-) --- Diff of recent changes: diff --git a/io_ddir.h b/io_ddir.h index a42da97a..296a9d04 100644 --- a/io_ddir.h +++ b/io_ddir.h @@ -24,7 +24,7 @@ static inline const char *io_ddir_name(enum fio_ddir ddir) "datasync", "sync_file_range", "wait", }; - if (ddir < DDIR_LAST) + if (ddir >= 0 && ddir < DDIR_LAST) return name[ddir]; return "invalid"; diff --git a/libfio.c b/libfio.c index ed5906d4..198eaf2e 100644 --- a/libfio.c +++ b/libfio.c @@ -140,7 +140,6 @@ void reset_all_stats(struct thread_data *td) td->io_issues[i] = 0; td->ts.total_io_u[i] = 0; td->ts.runtime[i] = 0; - td->rwmix_issues = 0; } set_epoch_time(td, td->o.log_unix_epoch); diff --git a/os/os-linux.h b/os/os-linux.h index 808f1d02..3001140c 100644 --- a/os/os-linux.h +++ b/os/os-linux.h @@ -20,6 +20,9 @@ #ifdef ARCH_HAVE_CRC_CRYPTO #include <sys/auxv.h> +#ifndef HWCAP_PMULL +#define HWCAP_PMULL (1 << 4) +#endif /* HWCAP_PMULL */ #ifndef HWCAP_CRC32 #define HWCAP_CRC32 (1 << 7) #endif /* HWCAP_CRC32 */ @@ -405,7 +408,8 @@ static inline bool os_cpu_has(cpu_features feature) #ifdef ARCH_HAVE_CRC_CRYPTO case CPU_ARM64_CRC32C: hwcap = getauxval(AT_HWCAP); - have_feature = (hwcap & HWCAP_CRC32) != 0; + have_feature = (hwcap & (HWCAP_PMULL | HWCAP_CRC32)) == + (HWCAP_PMULL | HWCAP_CRC32); break; #endif default: