projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix infinite loop in get_next_file_rr()
[fio.git]
/
os-linux.h
diff --git
a/os-linux.h
b/os-linux.h
index 657a679e23486e0e8e319d3cc10dd8f8a7c635f4..1ed3d3b650b206921c0c22a5b1e3c656820d228e 100644
(file)
--- a/
os-linux.h
+++ b/
os-linux.h
@@
-20,13
+20,6
@@
#define FIO_HAVE_ODIRECT
#define FIO_HAVE_HUGETLB
#define FIO_HAVE_ODIRECT
#define FIO_HAVE_HUGETLB
-/*
- * Only for x86 currently
- */
-#if defined(__i386__)
-#define FIO_HAVE_SYSLET
-#endif
-
#define OS_MAP_ANON (MAP_ANONYMOUS)
typedef cpu_set_t os_cpu_mask_t;
#define OS_MAP_ANON (MAP_ANONYMOUS)
typedef cpu_set_t os_cpu_mask_t;
@@
-39,7
+32,7
@@
typedef struct drand48_data os_random_state_t;
posix_fadvise((fd), (off_t)(off), (len), (advice))
#define fio_setaffinity(td) \
posix_fadvise((fd), (off_t)(off), (len), (advice))
#define fio_setaffinity(td) \
- sched_setaffinity((td)->pid, sizeof((td)->
cpumask), &(td)->
cpumask)
+ sched_setaffinity((td)->pid, sizeof((td)->
o.cpumask), &(td)->o.
cpumask)
#define fio_getaffinity(pid, ptr) \
sched_getaffinity((pid), sizeof(cpu_set_t), (ptr))
#define fio_getaffinity(pid, ptr) \
sched_getaffinity((pid), sizeof(cpu_set_t), (ptr))
@@
-81,27
+74,30
@@
static inline int vmsplice(int fd, const struct iovec *iov,
#define SPLICE_DEF_SIZE (64*1024)
#ifdef FIO_HAVE_SYSLET
#define SPLICE_DEF_SIZE (64*1024)
#ifdef FIO_HAVE_SYSLET
+
+struct syslet_uatom;
+struct async_head_user;
+
/*
* syslet stuff
*/
/*
* syslet stuff
*/
-static inline long async_register(void *uah, unsigned int len)
+static inline struct syslet_uatom *
+async_exec(struct syslet_uatom *atom, struct async_head_user *ahu)
{
{
- return
syscall(__NR_async_register, uah, len
);
+ return
(void *) syscall(__NR_async_exec, atom, ahu
);
}
}
-static inline void *async_exec(void *data)
+static inline long
+async_wait(unsigned long min_wait_events, unsigned long user_ring_idx,
+ struct async_head_user *ahu)
{
{
- return (void *) syscall(__NR_async_exec, data);
+ return syscall(__NR_async_wait, min_wait_events,
+ user_ring_idx, ahu);
}
}
-static inline long async_
wait(unsigned long min_events
)
+static inline long async_
thread(void *event, struct async_head_user *ahu
)
{
{
- return syscall(__NR_async_wait, min_events);
-}
-
-static inline long async_unregister(void *uah, unsigned int len)
-{
- return syscall(__NR_async_unregister, uah, len);
+ return syscall(__NR_async_thread, event, ahu);
}
static inline long umem_add(unsigned long *uptr, unsigned long inc)
}
static inline long umem_add(unsigned long *uptr, unsigned long inc)
@@
-128,10
+124,7
@@
enum {
static inline int blockdev_invalidate_cache(int fd)
{
static inline int blockdev_invalidate_cache(int fd)
{
- if (!ioctl(fd, BLKFLSBUF))
- return 0;
-
- return errno;
+ return ioctl(fd, BLKFLSBUF);
}
static inline int blockdev_size(int fd, unsigned long long *bytes)
}
static inline int blockdev_size(int fd, unsigned long long *bytes)