Recent changes (master)
The following changes since commit b532dd6d476679b08e4a56a60e8a7dd958779df9:
io_uring: sync with kernel (2019-01-28 11:42:20 -0700)
are available in the Git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to 521164fa90df413aa7aa8fb2956095a41eba7d6a:
io_uring: ensure we use the right argument syscall (2019-01-29 12:20:02 -0700)
----------------------------------------------------------------
Jens Axboe (3):
io_uring: update to kernel struct io_uring_params t/io_uring: fix bad if
io_uring: ensure we use the right argument syscall
engines/io_uring.c | 2 +- os/linux/io_uring.h | 24 ++++++++++++------------ t/io_uring.c | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-)
---
Diff of recent changes:
engines/io_uring.c +1 -1
@@ -132,7 +132,7 @@ static int io_uring_enter(struct ioring_data *ld, unsigned int to_submit, unsigned int min_complete, unsigned int flags) {return syscall (__NR_sys_io_uring_enter, ld->ring_fd, to_submit, - min_complete, flags); + min_complete, flags,NULL ,0 ); }static int fio_ioring_prep (struct thread_data *td,struct io_u *io_u)
os/linux/io_uring.h +12 -12
@@ -39,14 +39,14 @@ struct io_uring_sqe {/* * sqe->flags */ -#define IOSQE_FIXED_FILE (1 << 0)/* use fixed fileset */ +#define IOSQE_FIXED_FILE (1U << 0)/* use fixed fileset */ /* * io_uring_setup() flags */ -#define IORING_SETUP_IOPOLL (1 << 0)/* io_context is polled */ -#define IORING_SETUP_SQPOLL (1 << 1)/* SQ poll thread */ -#define IORING_SETUP_SQ_AFF (1 << 2)/* sq_thread_cpu is valid */ +#define IORING_SETUP_IOPOLL (1U << 0)/* io_context is polled */ +#define IORING_SETUP_SQPOLL (1U << 1)/* SQ poll thread */ +#define IORING_SETUP_SQ_AFF (1U << 2)/* sq_thread_cpu is valid */ #define IORING_OP_NOP 0#define IORING_OP_READV 1
@@ -60,7 +60,7 @@ struct io_uring_sqe {/* * sqe->fsync_flags */ -#define IORING_FSYNC_DATASYNC (1 << 0) +#define IORING_FSYNC_DATASYNC (1U << 0)/* * IO completion data structure (Completion Queue Entry)
@@ -74,7 +74,7 @@ struct io_uring_cqe {/* * io_uring_event->flags */ -#define IOCQE_FLAG_CACHEHIT (1 << 0)/* IO did not hit media */ +#define IOCQE_FLAG_CACHEHIT (1U << 0)/* IO did not hit media */ /* * Magic offsets for the application to mmap the data it needs
@@ -100,7 +100,7 @@ struct io_sqring_offsets {/* * sq_ring->flags */ -#define IORING_SQ_NEED_WAKEUP (1 << 0)/* needs io_uring_enter wakeup */ +#define IORING_SQ_NEED_WAKEUP (1U << 0)/* needs io_uring_enter wakeup */ struct io_cqring_offsets {__u32 head;
@@ -115,8 +115,8 @@ struct io_cqring_offsets {/* * io_uring_enter(2) flags */ -#define IORING_ENTER_GETEVENTS (1 << 0) -#define IORING_ENTER_SQ_WAKEUP (1 << 1) +#define IORING_ENTER_GETEVENTS (1U << 0) +#define IORING_ENTER_SQ_WAKEUP (1U << 1)/* * Passed in for io_uring_setup(2). Copied back with updated info on success
@@ -125,9 +125,9 @@ struct io_uring_params {__u32 sq_entries;__u32 cq_entries;__u32 flags; -__u16 sq_thread_cpu; -__u16 sq_thread_idle; -__u16 resv[8 ]; +__u32 sq_thread_cpu; +__u32 sq_thread_idle; +__u32 resv[5 ];struct io_sqring_offsets sq_off;struct io_cqring_offsets cq_off; };
t/io_uring.c +2 -2
@@ -129,7 +129,7 @@ static int io_uring_enter(struct submitter *s, unsigned int to_submit, unsigned int min_complete, unsigned int flags) {return syscall (__NR_sys_io_uring_enter, s->ring_fd, to_submit, - min_complete, flags); + min_complete, flags,NULL ,0 ); }static int gettid (void )
@@ -315,7 +315,7 @@ submit:if (to_wait) flags =IORING_ENTER_GETEVENTS ; -if (*ring->flags &IORING_SQ_NEED_WAKEUP ) +if ((*ring->flags &IORING_SQ_NEED_WAKEUP )) flags |=IORING_ENTER_SQ_WAKEUP ; ret =io_uring_enter (s, to_submit, to_wait, flags); s->calls++;