summaryrefslogtreecommitdiffstats
path: root/io_uring/io_uring.h
diff options
context:
space:
mode:
authorPavel Begunkov <asml.silence@gmail.com>2022-06-19 13:26:08 +0200
committerJens Axboe <axboe@kernel.dk>2022-07-25 02:39:14 +0200
commitd9dee4302a7cbd6c0142dbdf6d150acc7459de0d (patch)
tree6c9179cbfaa558781fc1658f48723fb65f4da711 /io_uring/io_uring.h
parentio_uring: move io_eventfd_signal() (diff)
downloadlinux-d9dee4302a7cbd6c0142dbdf6d150acc7459de0d.tar.xz
linux-d9dee4302a7cbd6c0142dbdf6d150acc7459de0d.zip
io_uring: remove ->flush_cqes optimisation
It's not clear how widely used IOSQE_CQE_SKIP_SUCCESS is, and how often ->flush_cqes flag prevents from completion being flushed. Sometimes it's high level of concurrency that enables it at least for one CQE, but sometimes it doesn't save much because nobody waiting on the CQ. Remove ->flush_cqes flag and the optimisation, it should benefit the normal use case. Note, that there is no spurious eventfd problem with that as checks for spuriousness were incorporated into io_eventfd_signal(). Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Link: https://lore.kernel.org/r/692e81eeddccc096f449a7960365fa7b4a18f8e6.1655637157.git.asml.silence@gmail.com [axboe: remove now dead state->flush_cqes variable] Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring/io_uring.h')
-rw-r--r--io_uring/io_uring.h2
1 files changed, 0 insertions, 2 deletions
diff --git a/io_uring/io_uring.h b/io_uring/io_uring.h
index 7b2055b342df..bdc62727638b 100644
--- a/io_uring/io_uring.h
+++ b/io_uring/io_uring.h
@@ -219,8 +219,6 @@ static inline void io_req_add_compl_list(struct io_kiocb *req)
{
struct io_submit_state *state = &req->ctx->submit_state;
- if (!(req->flags & REQ_F_CQE_SKIP))
- state->flush_cqes = true;
wq_list_add_tail(&req->comp_list, &state->compl_reqs);
}