From 27ad3317fb27b83e181df0901a7b6fe36d664cc5 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Tue, 29 Jan 2019 06:32:13 -0700 Subject: Update kernel io_uring header - struct io_uring_params changed (u16 -> u32 for sq options) - Use unsigned for the flag types Signed-off-by: Jens Axboe --- src/io_uring.h | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/io_uring.h b/src/io_uring.h index 3b8d623..b150450 100644 --- a/src/io_uring.h +++ b/src/io_uring.h @@ -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,7 +115,8 @@ struct io_cqring_offsets { /* * io_uring_enter(2) flags */ -#define IORING_ENTER_GETEVENTS (1 << 0) +#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 @@ -124,8 +125,9 @@ struct io_uring_params { __u32 sq_entries; __u32 cq_entries; __u32 flags; - __u16 sq_thread_cpu; - __u16 resv[9]; + __u32 sq_thread_cpu; + __u32 sq_thread_idle; + __u32 resv[5]; struct io_sqring_offsets sq_off; struct io_cqring_offsets cq_off; }; -- cgit