X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=engines%2Fio_uring.c;h=9bcfec1726b05402bbc0875b2a53bf3edfc13e52;hb=01bf5128d0581e267383f280c6a1dcd26517240f;hp=5279b1d0ffb7d38ba9ceb144b99ba26dd690574d;hpb=b532dd6d476679b08e4a56a60e8a7dd958779df9;p=fio.git diff --git a/engines/io_uring.c b/engines/io_uring.c index 5279b1d0..9bcfec17 100644 --- a/engines/io_uring.c +++ b/engines/io_uring.c @@ -62,9 +62,6 @@ struct ioring_data { int cq_ring_off; unsigned iodepth; - uint64_t cachehit; - uint64_t cachemiss; - struct ioring_mmap mmap[3]; }; @@ -132,7 +129,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) @@ -197,13 +194,6 @@ static struct io_u *fio_ioring_event(struct thread_data *td, int event) } else io_u->error = 0; - if (io_u->ddir == DDIR_READ) { - if (cqe->flags & IOCQE_FLAG_CACHEHIT) - ld->cachehit++; - else - ld->cachemiss++; - } - return io_u; } @@ -243,6 +233,8 @@ static int fio_ioring_getevents(struct thread_data *td, unsigned int min, r = fio_ioring_cqring_reap(td, events, max); if (r) { events += r; + if (actual_min != 0) + actual_min -= r; continue; } @@ -391,9 +383,6 @@ static void fio_ioring_cleanup(struct thread_data *td) struct ioring_data *ld = td->io_ops_data; if (ld) { - td->ts.cachehit += ld->cachehit; - td->ts.cachemiss += ld->cachemiss; - if (!(td->flags & TD_F_CHILD)) fio_ioring_unmap(ld); @@ -544,6 +533,7 @@ static int fio_ioring_io_u_init(struct thread_data *td, struct io_u *io_u) static struct ioengine_ops ioengine = { .name = "io_uring", .version = FIO_IOOPS_VERSION, + .flags = FIO_ASYNCIO_SYNC_TRIM, .init = fio_ioring_init, .post_init = fio_ioring_post_init, .io_u_init = fio_ioring_io_u_init,