X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=os%2Fos-linux.h;fp=os%2Fos-linux.h;h=75964dca89543d67c6588b8fd635ac1c8dbcfc54;hp=4e837da93720c34e5960b0c1e298a703b0fb08de;hb=836fcc0fceb233ebcc41ee63b4ea5cae20b678a4;hpb=798827c895a585f284842f6b99378be19c821263 diff --git a/os/os-linux.h b/os/os-linux.h index 4e837da9..75964dca 100644 --- a/os/os-linux.h +++ b/os/os-linux.h @@ -75,18 +75,6 @@ static inline int fio_cpuset_exit(os_cpu_mask_t *mask) #define FIO_MAX_CPUS CPU_SETSIZE -static inline int ioprio_set(int which, int who, int ioprio) -{ - return syscall(__NR_ioprio_set, which, who, ioprio); -} - -static inline int gettid(void) -{ - return syscall(__NR_gettid); -} - -#define SPLICE_DEF_SIZE (64*1024) - enum { IOPRIO_CLASS_NONE, IOPRIO_CLASS_RT, @@ -103,6 +91,25 @@ enum { #define IOPRIO_BITS 16 #define IOPRIO_CLASS_SHIFT 13 +static inline int ioprio_set(int which, int who, int ioprio_class, int ioprio) +{ + /* + * If no class is set, assume BE + */ + if (!ioprio_class) + ioprio_class = IOPRIO_CLASS_BE; + + ioprio |= ioprio_class << IOPRIO_CLASS_SHIFT; + return syscall(__NR_ioprio_set, which, who, ioprio); +} + +static inline int gettid(void) +{ + return syscall(__NR_gettid); +} + +#define SPLICE_DEF_SIZE (64*1024) + #ifndef BLKGETSIZE64 #define BLKGETSIZE64 _IOR(0x12,114,size_t) #endif