* [GIT PULL] io_uring epoll reaping support
@ 2025-03-27 11:47 Jens Axboe
2025-03-27 14:27 ` Jens Axboe
2025-03-28 22:11 ` pr-tracker-bot
0 siblings, 2 replies; 3+ messages in thread
From: Jens Axboe @ 2025-03-27 11:47 UTC (permalink / raw)
To: Linus Torvalds; +Cc: io-uring
Hi Linus,
This sits on top of the recently sent out zero-copy rx pull request.
This adds support for reading epoll events via io_uring. While this may
seem counter-intuitive (and/or productive), the reasoning here is that
quite a few existing epoll event loops can easily do a partial
conversion to a completion based model, but are still stuck with one (or
few) event types that remain readiness based. For that case, they then
need to add the io_uring fd to the epoll context, and continue to rely
on epoll_wait(2) for waiting on events. This misses out on the finer
grained waiting that io_uring can do, to reduce context switches and
wait for multiple events in one batch reliably.
With adding support for reaping epoll events via io_uring, the whole
legacy readiness based event types can still be reaped via epoll, with
the overall waiting in the loop be driven by io_uring.
Relies on a prep patch that went in via the VFS tree already. Please
pull!
The following changes since commit 0511f4e6a16988e485a5e60727c89e2ca9f83f44:
Merge patch series "epoll changes for io_uring wait support" (2025-02-20 10:18:47 +0100)
are available in the Git repository at:
git://git.kernel.dk/linux.git for-6.15/io_uring-rx-zc-20250325
for you to fetch changes up to 19f7e942732766aec8a51d217ab5fb4a7fe3bb0d:
io_uring/epoll: add support for IORING_OP_EPOLL_WAIT (2025-02-20 07:59:56 -0700)
----------------------------------------------------------------
Jens Axboe (5):
Merge branch 'for-6.15/io_uring' into for-6.15/io_uring-epoll-wait
Merge branch 'for-6.15/io_uring-rx-zc' into for-6.15/io_uring-epoll-wait
Merge branch 'vfs-6.15.eventpoll' of https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs into for-6.15/io_uring-epoll-wait
io_uring/epoll: remove CONFIG_EPOLL guards
io_uring/epoll: add support for IORING_OP_EPOLL_WAIT
include/uapi/linux/io_uring.h | 1 +
io_uring/Makefile | 9 +++++----
io_uring/epoll.c | 35 +++++++++++++++++++++++++++++++++--
io_uring/epoll.h | 2 ++
io_uring/opdef.c | 14 ++++++++++++++
5 files changed, 55 insertions(+), 6 deletions(-)
--
Jens Axboe
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [GIT PULL] io_uring epoll reaping support
2025-03-27 11:47 [GIT PULL] io_uring epoll reaping support Jens Axboe
@ 2025-03-27 14:27 ` Jens Axboe
2025-03-28 22:11 ` pr-tracker-bot
1 sibling, 0 replies; 3+ messages in thread
From: Jens Axboe @ 2025-03-27 14:27 UTC (permalink / raw)
To: Linus Torvalds; +Cc: io-uring
On 3/27/25 5:47 AM, Jens Axboe wrote:
> Hi Linus,
>
> This sits on top of the recently sent out zero-copy rx pull request.
>
> This adds support for reading epoll events via io_uring. While this may
> seem counter-intuitive (and/or productive), the reasoning here is that
> quite a few existing epoll event loops can easily do a partial
> conversion to a completion based model, but are still stuck with one (or
> few) event types that remain readiness based. For that case, they then
> need to add the io_uring fd to the epoll context, and continue to rely
> on epoll_wait(2) for waiting on events. This misses out on the finer
> grained waiting that io_uring can do, to reduce context switches and
> wait for multiple events in one batch reliably.
>
> With adding support for reaping epoll events via io_uring, the whole
> legacy readiness based event types can still be reaped via epoll, with
> the overall waiting in the loop be driven by io_uring.
>
> Relies on a prep patch that went in via the VFS tree already. Please
> pull!
And even with having prepared this earlier, guess a big conference dinner
was enough to still make me mess this up. The correct git location is of
course:
git://git.kernel.dk/linux.git for-6.15/io_uring-epoll-wait-20250325
which is what I get for creating the signed tag later than the actual
PR write-up.
Everything else in the original should be fine as-is, thanks!
--
Jens Axboe
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [GIT PULL] io_uring epoll reaping support
2025-03-27 11:47 [GIT PULL] io_uring epoll reaping support Jens Axboe
2025-03-27 14:27 ` Jens Axboe
@ 2025-03-28 22:11 ` pr-tracker-bot
1 sibling, 0 replies; 3+ messages in thread
From: pr-tracker-bot @ 2025-03-28 22:11 UTC (permalink / raw)
To: Jens Axboe; +Cc: Linus Torvalds, io-uring
The pull request you sent on Thu, 27 Mar 2025 05:47:56 -0600:
> git://git.kernel.dk/linux.git for-6.15/io_uring-rx-zc-20250325
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/6e3da40ed6f3508dcf34b1539496bcccef7015ef
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-03-28 22:10 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-27 11:47 [GIT PULL] io_uring epoll reaping support Jens Axboe
2025-03-27 14:27 ` Jens Axboe
2025-03-28 22:11 ` pr-tracker-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox