X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=os-linux.h;h=84919539e7a711e6c7d724705314a2c6e03d707b;hp=657a679e23486e0e8e319d3cc10dd8f8a7c635f4;hb=2270890cef8d98ab97f87d348d16dce6454e631f;hpb=b6959b55efa7f464dbb7e7f2021dd67d297219bd diff --git a/os-linux.h b/os-linux.h index 657a679e..84919539 100644 --- a/os-linux.h +++ b/os-linux.h @@ -20,13 +20,6 @@ #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; @@ -81,27 +74,30 @@ static inline int vmsplice(int fd, const struct iovec *iov, #define SPLICE_DEF_SIZE (64*1024) #ifdef FIO_HAVE_SYSLET + +struct syslet_uatom; +struct async_head_user; + /* * syslet stuff */ -static inline long async_register(void *uah, unsigned int len) -{ - return syscall(__NR_async_register, uah, len); -} - -static inline void *async_exec(void *data) +static inline struct syslet_uatom * +async_exec(struct syslet_uatom *atom, struct async_head_user *ahu) { - return (void *) syscall(__NR_async_exec, data); + return (void *) syscall(__NR_async_exec, atom, ahu); } -static inline long async_wait(unsigned long min_events) +static inline long +async_wait(unsigned long min_wait_events, unsigned long user_ring_idx, + struct async_head_user *ahu) { - return syscall(__NR_async_wait, min_events); + return syscall(__NR_async_wait, min_wait_events, + user_ring_idx, ahu); } -static inline long async_unregister(void *uah, unsigned int len) +static inline long async_thread(void *event, struct async_head_user *ahu) { - 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)