summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2019-07-26 09:41:06 -0600
committerJens Axboe <axboe@kernel.dk>2019-07-26 09:41:06 -0600
commitad4e92984ec2d92b18abede6cfbf8ef7f353d77a (patch)
tree3a2386708a6891699f2ba4fa177f777c3145a405
parentfc220349e45144360917db48010b503a9874930d (diff)
engines/libaio: remove remnants of abandoned aio features
Before we had io_uring, aio grew support for polled IO and setup through a new system call. As this never made it into Linux and was abandoned in favor of io_uring, kill it off. Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--engines/libaio.c60
1 files changed, 3 insertions, 57 deletions
diff --git a/engines/libaio.c b/engines/libaio.c
index cc6ca66..cd5b89f 100644
--- a/engines/libaio.c
+++ b/engines/libaio.c
@@ -16,14 +16,6 @@
#include "../optgroup.h"
#include "../lib/memalign.h"
-#ifndef IOCB_FLAG_HIPRI
-#define IOCB_FLAG_HIPRI (1 << 2)
-#endif
-
-#ifndef IOCTX_FLAG_IOPOLL
-#define IOCTX_FLAG_IOPOLL (1 << 0)
-#endif
-
static int fio_libaio_commit(struct thread_data *td);
struct libaio_data {
@@ -66,15 +58,6 @@ static struct fio_option options[] = {
.group = FIO_OPT_G_LIBAIO,
},
{
- .name = "hipri",
- .lname = "High Priority",
- .type = FIO_OPT_STR_SET,
- .off1 = offsetof(struct libaio_options, hipri),
- .help = "Use polled IO completions",
- .category = FIO_OPT_C_ENGINE,
- .group = FIO_OPT_G_LIBAIO,
- },
- {
.name = NULL,
},
};
@@ -91,19 +74,12 @@ static inline void ring_inc(struct libaio_data *ld, unsigned int *val,
static int fio_libaio_prep(struct thread_data fio_unused *td, struct io_u *io_u)
{
struct fio_file *f = io_u->file;
- struct libaio_options *o = td->eo;
- struct iocb *iocb;
-
- iocb = &io_u->iocb;
+ struct iocb *iocb = &io_u->iocb;
if (io_u->ddir == DDIR_READ) {
io_prep_pread(iocb, f->fd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset);
- if (o->hipri)
- iocb->u.c.flags |= IOCB_FLAG_HIPRI;
} else if (io_u->ddir == DDIR_WRITE) {
io_prep_pwrite(iocb, f->fd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset);
- if (o->hipri)
- iocb->u.c.flags |= IOCB_FLAG_HIPRI;
} else if (ddir_sync(io_u->ddir))
io_prep_fsync(iocb, f->fd);
@@ -366,42 +342,12 @@ static void fio_libaio_cleanup(struct thread_data *td)
}
}
-static int fio_libaio_old_queue_init(struct libaio_data *ld, unsigned int depth,
- bool hipri)
-{
- if (hipri) {
- log_err("fio: polled aio not available on your platform\n");
- return 1;
- }
-
- return io_queue_init(depth, &ld->aio_ctx);
-}
-
-static int fio_libaio_queue_init(struct libaio_data *ld, unsigned int depth,
- bool hipri)
-{
-#ifdef __NR_sys_io_setup2
- int ret, flags = 0;
-
- if (hipri)
- flags |= IOCTX_FLAG_IOPOLL;
-
- ret = syscall(__NR_sys_io_setup2, depth, flags, NULL, NULL,
- &ld->aio_ctx);
- if (!ret)
- return 0;
- /* fall through to old syscall */
-#endif
- return fio_libaio_old_queue_init(ld, depth, hipri);
-}
-
static int fio_libaio_post_init(struct thread_data *td)
{
struct libaio_data *ld = td->io_ops_data;
- struct libaio_options *o = td->eo;
- int err = 0;
+ int err;
- err = fio_libaio_queue_init(ld, td->o.iodepth, o->hipri);
+ err = io_queue_init(td->o.iodepth, &ld->aio_ctx);
if (err) {
td_verror(td, -err, "io_queue_init");
return 1;