From: Liming Wu <19092205@xxxxxxxxxx> When SETUP_IOPOLL and SETUP_SQPOLL are both enabled, app don't need to enter io_cqring_wait too. If I misunderstand, please give me some advise. Signed-off-by Liming Wu <19092205@xxxxxxxxxx> --- io_uring.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/io_uring.c b/io_uring.c index b12d33b..36e884f 100644 --- a/io_uring.c +++ b/io_uring.c @@ -7418,11 +7418,12 @@ SYSCALL_DEFINE6(io_uring_enter, unsigned int, fd, u32, to_submit, * polling again, they can rely on io_sq_thread to do polling * work, which can reduce cpu usage and uring_lock contention. */ - if (ctx->flags & IORING_SETUP_IOPOLL && - !(ctx->flags & IORING_SETUP_SQPOLL)) { - ret = io_iopoll_check(ctx, &nr_events, min_complete); - } else { - ret = io_cqring_wait(ctx, min_complete, sig, sigsz); + if (!(ctx->flags & IORING_SETUP_SQPOLL)) { + if (ctx->flags & IORING_SETUP_IOPOLL) { + ret = io_iopoll_check(ctx, &nr_events, min_complete); + } else { + ret = io_cqring_wait(ctx, min_complete, sig, sigsz); + } } } -- 1.8.3.1