From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF97513C682
	for <io-uring@vger.kernel.org>; Thu, 27 Mar 2025 11:47:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.169
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1743076080; cv=none; b=C2sC9GxVcw6Mxs62d9jp3uRMmMQS4BEpUocthavZ5dmSgMuFlyHwlfIJKssGYqjQP4ZQm70RjpTtOTBc9TlIhXBoZKXGsGHmSjxwlEPugrXK8vZrefGkoiEG3qQ5XsP5RxySuGaV01kYhxVy8mUxoFE1mY5aPjlfQYkdQXrASoU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1743076080; c=relaxed/simple;
	bh=BoZEho9fDL/Gm3ssaM96SrYmA7W8roBBdfVECmZ46Tw=;
	h=Message-ID:Date:MIME-Version:To:Cc:From:Subject:Content-Type; b=bc82AI3sxVkkM+zxqH6hWfzBKWe7XuceYa3MuGfmDbQGxFDZ51WE6IPpLcRVjruBTAspota8yNFxKhdjBbJvbTiusEVa1/T3FSl1cN83t/GD9SIn6wsCsb+LOcWervUFuVz8e4BwNUoH66tAAcdHmc37kTlZjgvjix6IeI5Ia24=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.dk; spf=pass smtp.mailfrom=kernel.dk; dkim=pass (2048-bit key) header.d=kernel-dk.20230601.gappssmtp.com header.i=@kernel-dk.20230601.gappssmtp.com header.b=gtd2ZKLa; arc=none smtp.client-ip=209.85.222.169
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.dk
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kernel.dk
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=kernel-dk.20230601.gappssmtp.com header.i=@kernel-dk.20230601.gappssmtp.com header.b="gtd2ZKLa"
Received: by mail-qk1-f169.google.com with SMTP id af79cd13be357-7c560c55bc1so97775085a.1
        for <io-uring@vger.kernel.org>; Thu, 27 Mar 2025 04:47:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1743076077; x=1743680877; darn=vger.kernel.org;
        h=content-transfer-encoding:subject:from:cc:to:content-language
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VBFSr9jjlSrAZe5ddV8UvSH6s11GruYk+AQrtjmhz7Y=;
        b=gtd2ZKLakXAfmtB4x0oIi2p+alW/htvolYbnbGBalX0or9rB7SvmctRCLRLZ/O9enI
         zVjf9sba3aHZHjdEEmKTD4HQvONU/CmokS2QNmXaBdB9FdlScbNVyX3fzULlpCw+Mn2Q
         /5q5pX6/wzRgKizQ98KsFFqmlUXrguo3vWBr0fgwmBCpKb29RAW5EWdjyQpoJIxJ3T7e
         WNR0t4ZYyI7fO9+KYGNMYC7TZUt7E69SQSEqv6wPIKIpmnwlcp54ISLnb9b0WbMPZfzj
         o//68SteFLm4cj2ZtUQXUTPOiH9AmNyun2fZ2USu82+n1+BIODp+W8OESVx08MQvXkFE
         vbPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743076077; x=1743680877;
        h=content-transfer-encoding:subject:from:cc:to:content-language
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=VBFSr9jjlSrAZe5ddV8UvSH6s11GruYk+AQrtjmhz7Y=;
        b=fhkoBHZc9vUrgRMzcCzoezs4hY2H5e8sUFwC1FDqbacVvvljG1zqFOKjozKG2qjdDG
         FaaOU4t1bFC5MNtcm/qTtU0FwzuGYbeCl9eJy8p+ArJucuMozlgy/FTvN8sieqUYLdvS
         JTkShVZdTEAC4j1DkTJONVPjB0etUBhV8BDZT9KQDmuuMnE9VpArH20IdVvClF+xoSby
         b4O3MQvAHqtp95A/4bIsUGSGoqPnE1rQBjK3oRmiGWIJG2GvbR+UvJD81kbXWJXAq1f8
         jRNhLK0JobVPSPHJZRY9q1YrLIVZC1fV5iDoNsJLXTBQGEKTnbtbAGnpOvDbIS4ARXSS
         qcqQ==
X-Gm-Message-State: AOJu0Yz9nl1UixaQyOsQ6OoA83wq9XmvbMPI5ubAvVMYrY9OmkDnrEWw
	FzcQN/rnRsljadiyGBwk+f0mETpXmoZTIcjBXEj0fv5YBWxo0rL31N/Yvaid1d5gm80TcKTszdv
	sgMo=
X-Gm-Gg: ASbGnctqnhJxNHuHDKmSjzntc0UMmzSfNoHSHQxXV9ekO8K7qDljn5kXhgSztAiv5EA
	XSY5KS7xcOeknQyHMc0hlSKuwrwQ9rRm6skAioFj6lDpBnje0+r51nnfC/c69m1A9ILIwl8qRDk
	fUUzDkSUVwGOvgWY7qh/LrV1FQGdfyU4P7uO42wASMeS3ULYl64kH+uYZQVYsuYIVTpcEDPWrf5
	Z9nFSJAuRsQwitnHMUw1itTdOAS83+XuYfLgcrqQLzlDkBzLnjy4MKwEzWAunEW/yD/FlFUONRY
	Lo5Pr0Mgw1jyQv6Rr0+JWSUUlSJ5QMhab3ghJqw=
X-Google-Smtp-Source: AGHT+IEof9fQbWVlyP+b0Ou7+jNngeRxdWHatTO8Eh9yzKoZm+TxhT3kVY2XswDWarx9apE34wgc/g==
X-Received: by 2002:ad4:5c42:0:b0:6e8:fcc9:a29c with SMTP id 6a1803df08f44-6ed238be16fmr52034666d6.19.1743076077507;
        Thu, 27 Mar 2025 04:47:57 -0700 (PDT)
Received: from [172.20.6.96] ([99.209.85.25])
        by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6eb3ef34792sm78909876d6.68.2025.03.27.04.47.56
        (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
        Thu, 27 Mar 2025 04:47:56 -0700 (PDT)
Message-ID: <3ad3c346-1415-45bd-bcb2-2f9b46164f30@kernel.dk>
Date: Thu, 27 Mar 2025 05:47:56 -0600
Precedence: bulk
X-Mailing-List: io-uring@vger.kernel.org
List-Id: <io-uring.vger.kernel.org>
List-Subscribe: <mailto:io-uring+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:io-uring+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: io-uring <io-uring@vger.kernel.org>
From: Jens Axboe <axboe@kernel.dk>
Subject: [GIT PULL] io_uring epoll reaping support
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

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