X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=os%2Fos-linux.h;h=7a78b42d4d1066d7fc274f78e7cfb444555b3765;hb=9943adfb8adf50e6f54ab6aff613c99a3a75d224;hp=12886037dd40ddf5dc3dafbd99be943253e4b78d;hpb=8d6e8d99c8e080a20c025cf16f98097b630c072e;p=fio.git diff --git a/os/os-linux.h b/os/os-linux.h index 12886037..7a78b42d 100644 --- a/os/os-linux.h +++ b/os/os-linux.h @@ -1,7 +1,11 @@ #ifndef FIO_OS_LINUX_H #define FIO_OS_LINUX_H +#ifdef __ANDROID__ +#define FIO_OS os_android +#else #define FIO_OS os_linux +#endif #include #include @@ -17,9 +21,17 @@ #include #include #include +#include +#ifdef __ANDROID__ +#include "os-ashmem.h" +#define FIO_NO_HAVE_SHM_H +#endif #ifdef ARCH_HAVE_CRC_CRYPTO #include +#ifndef HWCAP_PMULL +#define HWCAP_PMULL (1 << 4) +#endif /* HWCAP_PMULL */ #ifndef HWCAP_CRC32 #define HWCAP_CRC32 (1 << 7) #endif /* HWCAP_CRC32 */ @@ -47,6 +59,7 @@ #define FIO_HAVE_TRIM #define FIO_HAVE_GETTID #define FIO_USE_GENERIC_INIT_RANDOM_STATE +#define FIO_HAVE_BYTEORDER_FUNCS #define FIO_HAVE_PWRITEV2 #define FIO_HAVE_SHM_ATTACH_REMOVED @@ -78,8 +91,8 @@ typedef cpu_set_t os_cpu_mask_t; pthread_getaffinity_np(pthread_self(), sizeof(mask), &(mask)) #endif -#define fio_cpu_clear(mask, cpu) (void) CPU_CLR((cpu), (mask)) -#define fio_cpu_set(mask, cpu) (void) CPU_SET((cpu), (mask)) +#define fio_cpu_clear(mask, cpu) CPU_CLR((cpu), (mask)) +#define fio_cpu_set(mask, cpu) CPU_SET((cpu), (mask)) #define fio_cpu_isset(mask, cpu) (CPU_ISSET((cpu), (mask)) != 0) #define fio_cpu_count(mask) CPU_COUNT((mask)) @@ -129,6 +142,11 @@ static inline int ioprio_value(int ioprio_class, int ioprio) return (ioprio_class << IOPRIO_CLASS_SHIFT) | ioprio; } +static inline bool ioprio_value_is_class_rt(unsigned int priority) +{ + return (priority >> IOPRIO_CLASS_SHIFT) == IOPRIO_CLASS_RT; +} + static inline int ioprio_set(int which, int who, int ioprio_class, int ioprio) { return syscall(__NR_ioprio_set, which, who, @@ -187,12 +205,6 @@ static inline unsigned long long os_phys_mem(void) #define FIO_O_NOATIME 0 #endif -#ifdef O_ATOMIC -#define OS_O_ATOMIC O_ATOMIC -#else -#define OS_O_ATOMIC 040000000 -#endif - #ifdef MADV_REMOVE #define FIO_MADV_FREE MADV_REMOVE #endif @@ -233,14 +245,6 @@ static inline int arch_cache_line_size(void) return atoi(size); } -#ifdef __powerpc64__ -#define FIO_HAVE_CPU_ONLINE_SYSCONF -static inline unsigned int cpus_online(void) -{ - return sysconf(_SC_NPROCESSORS_CONF); -} -#endif - static inline unsigned long long get_fs_free_size(const char *path) { unsigned long long ret; @@ -400,7 +404,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: