Recent changes (master)
The following changes since commit 10c4d1318fff63eef1d22c6be6d816210277ae17:
t/aio-ring: print head/tail as unsigneds (2018-12-21 15:37:16 -0700)
are available in the Git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to ac4f3d4e4cf16b1097249a819fe7111b2674b3f4:
aioring: remove IOCB_FLAG_HIPRI (2018-12-30 17:19:40 -0700)
----------------------------------------------------------------
Jens Axboe (2):
aioring: update API
aioring: remove IOCB_FLAG_HIPRI
engines/aioring.c | 23 ++++------------------- t/aio-ring.c | 16 ++++------------ 2 files changed, 8 insertions(+), 31 deletions(-)
---
Diff of recent changes:
engines/aioring.c +4 -19
@@ -21,10 +21,6 @@#ifdef ARCH_HAVE_AIORING -#ifndef IOCB_FLAG_HIPRI -#define IOCB_FLAG_HIPRI (1 << 2) -#endif -/* * io_setup2(2) flags */
@@ -51,11 +47,8 @@/* * io_ring_enter(2) flags */ -#ifndef IORING_FLAG_SUBMIT -#define IORING_FLAG_SUBMIT (1 << 0) -#endif #ifndef IORING_FLAG_GETEVENTS -#define IORING_FLAG_GETEVENTS (1 << 1) +#define IORING_FLAG_GETEVENTS (1 << 0)#endif typedef uint64_t u64 ;
@@ -196,7 +189,6 @@ static int fio_aioring_prep(struct thread_data *td, struct io_u *io_u) {struct aioring_data *ld = td->io_ops_data;struct fio_file *f = io_u->file; -struct aioring_options *o = td->eo;struct iocb *iocb; iocb = &ld->iocbs[io_u->index];
@@ -211,10 +203,7 @@ static int fio_aioring_prep(struct thread_data *td, struct io_u *io_u) iocb->u.c.buf = io_u->xfer_buf; iocb->u.c.nbytes = io_u->xfer_buflen; iocb->u.c.offset = io_u->offset; -if (o->hipri) - iocb->u.c.flags |=IOCB_FLAG_HIPRI ; -else - iocb->u.c.flags =0 ; + iocb->u.c.flags =0 ; }else if (ddir_sync (io_u->ddir))io_prep_fsync (iocb, f->fd);
@@ -377,7 +366,7 @@ static int fio_aioring_commit(struct thread_data *td)struct aio_sq_ring *ring = ld->sq_ring;if (ring->kflags &IORING_SQ_NEED_WAKEUP ) -io_ring_enter (ld->aio_ctx, ld->queued,0 ,IORING_FLAG_SUBMIT ); +io_ring_enter (ld->aio_ctx, ld->queued,0 ,0 ); ld->queued =0 ;return 0 ; }
@@ -386,8 +375,7 @@ static int fio_aioring_commit(struct thread_data *td)unsigned start = ld->sq_ring->head;long nr = ld->queued; - ret =io_ring_enter (ld->aio_ctx, nr,0 ,IORING_FLAG_SUBMIT | -IORING_FLAG_GETEVENTS ); + ret =io_ring_enter (ld->aio_ctx, nr,0 ,IORING_FLAG_GETEVENTS );if (ret >0 ) {fio_aioring_queued (td, start, ret);io_u_mark_submit (td, ret);
@@ -507,9 +495,6 @@ static int fio_aioring_post_init(struct thread_data *td) iocb = &ld->iocbs[i]; iocb->u.c.buf = io_u->buf; iocb->u.c.nbytes =td_max_bs (td); - -if (o->hipri) - iocb->u.c.flags |=IOCB_FLAG_HIPRI ; } }
t/aio-ring.c +4 -12
@@ -22,8 +22,6 @@#include <pthread.h> #include <sched.h> -#define IOCB_FLAG_HIPRI (1 << 2) -#define IOCTX_FLAG_IOPOLL (1 << 0)#define IOCTX_FLAG_SCQRING (1 << 1)/* Use SQ/CQ rings */ #define IOCTX_FLAG_FIXEDBUFS (1 << 2)
@@ -66,8 +64,7 @@ struct aio_cq_ring {struct io_event events[0 ]; }; -#define IORING_FLAG_SUBMIT (1 << 0) -#define IORING_FLAG_GETEVENTS (1 << 1) +#define IORING_FLAG_GETEVENTS (1 << 0)#define DEPTH 32
@@ -134,8 +131,6 @@ static void init_io(struct submitter *s, int fd, struct iocb *iocb) iocb->aio_fildes = fd; iocb->aio_lio_opcode =IO_CMD_PREAD ; iocb->u.c.offset = offset; -if (polled) - iocb->u.c.flags =IOCB_FLAG_HIPRI ;if (!fixedbufs) iocb->u.c.nbytes =BS ; }
@@ -254,7 +249,7 @@ static void *submitter_fn(void *data) prepped =0 ; do { - int to_wait, flags, to_submit, this_reap; + int to_wait, to_submit, this_reap; if (!prepped && s->inflight < DEPTH) prepped = prep_more_ios(s, fd, min(DEPTH - s->inflight, BATCH_SUBMIT));
@@ -267,11 +262,8 @@ submit:else to_wait =min (s->inflight + to_submit,BATCH_COMPLETE ); - flags =IORING_FLAG_GETEVENTS ; -if (to_submit) - flags |=IORING_FLAG_SUBMIT ; - - ret =io_ring_enter (s->ioc, to_submit, to_wait, flags); + ret =io_ring_enter (s->ioc, to_submit, to_wait, +IORING_FLAG_GETEVENTS ); s->calls++; this_reap =reap_events (s);