public inbox for io-uring@vger.kernel.org
 help / color / mirror / Atom feed
* [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