projects
/
platform
/
kernel
/
linux-rpi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4af3417
)
io_uring: optimise non-eventfd post-event
author
Pavel Begunkov
<asml.silence@gmail.com>
Sun, 11 Apr 2021 00:46:31 +0000
(
01:46
+0100)
committer
Jens Axboe
<axboe@kernel.dk>
Mon, 12 Apr 2021 01:30:41 +0000
(19:30 -0600)
Eventfd is not the canonical way of using io_uring, annotate
io_should_trigger_evfd() with likely so it improves code generation for
non-eventfd branch.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link:
https://lore.kernel.org/r/42fdaa51c68d39479f02cef4fe5bcb24624d60fa.1618101759.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c
patch
|
blob
|
history
diff --git
a/fs/io_uring.c
b/fs/io_uring.c
index 1779306c50d2caec28564cf23d3fae6921d0bf67..108b0c49db643401b57e0345703db815f7253de6 100644
(file)
--- a/
fs/io_uring.c
+++ b/
fs/io_uring.c
@@
-1355,13
+1355,11
@@
static struct io_uring_cqe *io_get_cqring(struct io_ring_ctx *ctx)
static inline bool io_should_trigger_evfd(struct io_ring_ctx *ctx)
{
- if (
!ctx->cq_ev_fd
)
+ if (
likely(!ctx->cq_ev_fd)
)
return false;
if (READ_ONCE(ctx->rings->cq_flags) & IORING_CQ_EVENTFD_DISABLED)
return false;
- if (!ctx->eventfd_async)
- return true;
- return io_wq_current_is_worker();
+ return !ctx->eventfd_async || io_wq_current_is_worker();
}
static void io_cqring_ev_posted(struct io_ring_ctx *ctx)