X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=os-linux.h;h=5f0ef8214fcac07a32d629dbaea2fa9a9a209d15;hp=f2df97d3bf2588f7dc1dae447ed27988097a2078;hb=f4866ec5515d8ee329bd904764212489efc8cba2;hpb=32cd46a085ac60f4f8b085e2d65ebfc6100bb8c5 diff --git a/os-linux.h b/os-linux.h index f2df97d3..5f0ef821 100644 --- a/os-linux.h +++ b/os-linux.h @@ -16,10 +16,12 @@ #define FIO_HAVE_IOPRIO #define FIO_HAVE_SPLICE #define FIO_HAVE_IOSCHED_SWITCH +#define FIO_HAVE_ODIRECT #define OS_MAP_ANON (MAP_ANONYMOUS) typedef cpu_set_t os_cpu_mask_t; +typedef struct drand48_data os_random_state_t; /* * we want fadvise64 really, but it's so tangled... later @@ -99,4 +101,25 @@ static inline unsigned long long os_phys_mem(void) return (unsigned long long) pages * (unsigned long long) pagesize; } +static inline void os_random_seed(unsigned long seed, os_random_state_t *rs) +{ + srand48_r(seed, rs); +} + +static inline long os_random_long(os_random_state_t *rs) +{ + long val; + + lrand48_r(rs, &val); + return val; +} + +static inline double os_random_double(os_random_state_t *rs) +{ + double val; + + drand48_r(rs, &val); + return val; +} + #endif