#include <sched.h>
#include <linux/unistd.h>
#include <linux/major.h>
+#include <asm/byteorder.h>
#include "binject.h"
#include "../file.h"
#define FIO_HAVE_DISK_UTIL
#define FIO_HAVE_IOSCHED_SWITCH
+#define FIO_HAVE_IOPRIO
#define FIO_HAVE_ODIRECT
#define FIO_HAVE_HUGETLB
#define FIO_HAVE_BLKTRACE
#define FIO_HAVE_E4_ENG
#define FIO_HAVE_BYTEORDER_FUNCS
#define FIO_HAVE_MMAP_HUGE
+#define FIO_NO_HAVE_SHM_H
#define OS_MAP_ANON MAP_ANONYMOUS
#ifdef MADV_REMOVE
#define FIO_MADV_FREE MADV_REMOVE
#endif
+#ifndef MAP_HUGETLB
+#define MAP_HUGETLB 0x40000 /* arch specific */
+#endif
/*
#define SPLICE_DEF_SIZE (64*1024)
+enum {
+ IOPRIO_CLASS_NONE,
+ IOPRIO_CLASS_RT,
+ IOPRIO_CLASS_BE,
+ IOPRIO_CLASS_IDLE,
+};
+
+enum {
+ IOPRIO_WHO_PROCESS = 1,
+ IOPRIO_WHO_PGRP,
+ IOPRIO_WHO_USER,
+};
+
+#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);
+}
+
#ifndef BLKGETSIZE64
#define BLKGETSIZE64 _IOR(0x12,114,size_t)
#endif