Recent changes (master)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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:

diff --git a/engines/io_uring.c b/engines/io_uring.c
index 5279b1d0..014f954e 100644
--- a/engines/io_uring.c
+++ b/engines/io_uring.c
@@ -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)
diff --git a/os/linux/io_uring.h b/os/linux/io_uring.h
index 589b6402..b1504502 100644
--- a/os/linux/io_uring.h
+++ b/os/linux/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,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;
 };
diff --git a/t/io_uring.c b/t/io_uring.c
index 9ded1590..62b48e44 100644
--- a/t/io_uring.c
+++ b/t/io_uring.c
@@ -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++;



[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux