X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=os%2Fos-linux.h;h=2b35f346217e88205c6022d87390ac577cb54602;hp=2599091b7fd41d8fbf6efdff0ee6190dfe6e9034;hb=f5fd0b1cd383c4a3cb8fb5078b7e93aecba8847e;hpb=d5e3a0c6f5376e0d76143edb2c1622efd77f995f diff --git a/os/os-linux.h b/os/os-linux.h index 2599091b..2b35f346 100644 --- a/os/os-linux.h +++ b/os/os-linux.h @@ -1,6 +1,8 @@ #ifndef FIO_OS_LINUX_H #define FIO_OS_LINUX_H +#define FIO_OS os_linux + #include #include #include @@ -12,6 +14,7 @@ #include #include #include +#include #include #include "indirect.h" @@ -32,7 +35,6 @@ #define FIO_HAVE_RAWBIND #define FIO_HAVE_BLKTRACE #define FIO_HAVE_STRSEP -#define FIO_HAVE_FALLOCATE #define FIO_HAVE_POSIXAIO_FSYNC #define FIO_HAVE_PSHARED_MUTEX #define FIO_HAVE_CL_SIZE @@ -43,15 +45,28 @@ #define FIO_HAVE_BINJECT #define FIO_HAVE_CLOCK_MONOTONIC #define FIO_HAVE_GETTID +#define FIO_USE_GENERIC_INIT_RANDOM_STATE +#define FIO_HAVE_E4_ENG /* * Can only enable this for newer glibcs, or the header and defines are * missing */ #if __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 6 +#define FIO_HAVE_FALLOCATE +#endif +#if __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 8 #define FIO_HAVE_LINUX_FALLOCATE #endif +#ifdef FIO_HAVE_LINUX_FALLOCATE +#define FIO_HAVE_FALLOC_ENG +#endif + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) +#define FIO_HAVE_RUSAGE_THREAD +#endif + #ifdef SYNC_FILE_RANGE_WAIT_BEFORE #define FIO_HAVE_SYNC_FILE_RANGE #endif @@ -90,8 +105,8 @@ typedef struct drand48_data os_random_state_t; sched_getaffinity((pid), (ptr)) #endif -#define fio_cpu_clear(mask, cpu) CPU_CLR((cpu), (mask)) -#define fio_cpu_set(mask, cpu) CPU_SET((cpu), (mask)) +#define fio_cpu_clear(mask, cpu) (void) CPU_CLR((cpu), (mask)) +#define fio_cpu_set(mask, cpu) (void) CPU_SET((cpu), (mask)) static inline int fio_cpuset_init(os_cpu_mask_t *mask) {