From 478a96a8727de80fada910e0e5fae796d7e31af1 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Wed, 12 Dec 2018 09:28:29 -0700 Subject: [PATCH] t/aio-ring: update to newer API Signed-off-by: Jens Axboe --- t/aio-ring.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/t/aio-ring.c b/t/aio-ring.c index c6106348..32eb949b 100644 --- a/t/aio-ring.c +++ b/t/aio-ring.c @@ -24,25 +24,25 @@ #define IOCB_FLAG_HIPRI (1 << 2) -#define IOCTX_FLAG_IOPOLL (1 << 1) -#define IOCTX_FLAG_USERIOCB (1 << 0) +#define IOCTX_FLAG_IOPOLL (1 << 0) +#define IOCTX_FLAG_SCQRING (1 << 1) /* Use SQ/CQ rings */ #define IOCTX_FLAG_FIXEDBUFS (1 << 2) -#define IOCTX_FLAG_SCQRING (1 << 3) /* Use SQ/CQ rings */ -#define IOCTX_FLAG_SQTHREAD (1 << 4) /* Use SQ thread */ -#define IOCTX_FLAG_SQWQ (1 << 5) /* Use SQ wq */ +#define IOCTX_FLAG_SQTHREAD (1 << 3) /* Use SQ thread */ +#define IOCTX_FLAG_SQWQ (1 << 4) /* Use SQ wq */ #define barrier() __asm__ __volatile__("": : :"memory") #define min(a, b) ((a < b) ? (a) : (b)) typedef uint32_t u32; +typedef uint16_t u16; struct aio_iocb_ring { union { struct { u32 head, tail; u32 nr_events; - u32 sq_thread_cpu; + u16 sq_thread_cpu; }; struct iocb pad_iocb; }; @@ -355,12 +355,16 @@ int main(int argc, char *argv[]) if (posix_memalign(&p, 4096, size)) return 1; s->sq_ring = p; + s->sq_ring->nr_events = RING_SIZE; memset(p, 0, size); - size = sizeof(struct aio_io_event_ring) + RING_SIZE * sizeof(struct io_event); + /* CQ ring must be twice as big */ + size = sizeof(struct aio_io_event_ring) + + 2 * RING_SIZE * sizeof(struct io_event); if (posix_memalign(&p, 4096, size)) return 1; s->cq_ring = p; + s->cq_ring->nr_events = 2 * RING_SIZE; memset(p, 0, size); for (j = 0; j < RING_SIZE; j++) { -- 2.25.1