Netdev Archive mirror
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: io-uring <io-uring@vger.kernel.org>,
	Jakub Kicinski <kuba@kernel.org>, netdev <netdev@vger.kernel.org>
Subject: [GIT PULL] Enable IORING_CQE_F_SOCK_NONEMPTY for accept requests
Date: Wed, 15 May 2024 20:38:49 -0600	[thread overview]
Message-ID: <8c707a5f-2e33-4f5a-99a0-89a194625bcc@kernel.dk> (raw)

Hi Linus,

This one was deferred, as it both depended on the net branch and the
io_uring changes for 6.10. Sending it now as both have landed.

This adds support for IORING_CQE_F_SOCK_NONEMPTY for io_uring accept
requests. This is very similar to previous work that enabled the same
hint for doing receives on sockets. By far the majority of the work here
is refactoring to enable the networking side to pass back whether or not
the socket had more pending requests after accepting the current one,
the last patch just wires it up for io_uring.

Not only does this enable applications to know whether there are more
connections to accept right now, it also enables smarter logic for
io_uring multishot accept on whether to retry immediately or wait for a
poll trigger.

Please pull!


The following changes since commit cddd2dc6390b90e62cec2768424d1d90f6d04161:

  Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue (2024-05-10 19:33:52 -0700)

are available in the Git repository at:

  git://git.kernel.dk/linux.git tags/net-accept-more-20240515

for you to fetch changes up to ac287da2e0ea5be2523222981efec86f0ca977cd:

  io_uring/net: wire up IORING_CQE_F_SOCK_NONEMPTY for accept (2024-05-13 18:19:23 -0600)

----------------------------------------------------------------
net-accept-more-20240515

----------------------------------------------------------------
Jens Axboe (6):
      Merge branch 'for-6.10/io_uring' into net-accept-more
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next into net-accept-more
      net: change proto and proto_ops accept type
      net: have do_accept() take a struct proto_accept_arg argument
      net: pass back whether socket was empty post accept
      io_uring/net: wire up IORING_CQE_F_SOCK_NONEMPTY for accept

 crypto/af_alg.c                    | 11 ++++++-----
 crypto/algif_hash.c                | 10 +++++-----
 drivers/xen/pvcalls-back.c         |  6 +++++-
 fs/ocfs2/cluster/tcp.c             |  5 ++++-
 include/crypto/if_alg.h            |  3 ++-
 include/linux/net.h                |  4 +++-
 include/linux/socket.h             |  3 ++-
 include/net/inet_common.h          |  4 ++--
 include/net/inet_connection_sock.h |  2 +-
 include/net/sock.h                 | 13 ++++++++++---
 io_uring/net.c                     | 26 ++++++++++++++++++++------
 net/atm/svc.c                      |  8 ++++----
 net/ax25/af_ax25.c                 |  6 +++---
 net/bluetooth/iso.c                |  4 ++--
 net/bluetooth/l2cap_sock.c         |  4 ++--
 net/bluetooth/rfcomm/sock.c        |  6 +++---
 net/bluetooth/sco.c                |  4 ++--
 net/core/sock.c                    |  4 ++--
 net/ipv4/af_inet.c                 | 10 +++++-----
 net/ipv4/inet_connection_sock.c    |  7 ++++---
 net/iucv/af_iucv.c                 |  4 ++--
 net/llc/af_llc.c                   |  7 +++----
 net/mptcp/protocol.c               | 11 +++++------
 net/netrom/af_netrom.c             |  6 +++---
 net/nfc/llcp_sock.c                |  4 ++--
 net/phonet/pep.c                   | 12 ++++++------
 net/phonet/socket.c                |  7 +++----
 net/rds/tcp_listen.c               |  6 +++++-
 net/rose/af_rose.c                 |  6 +++---
 net/sctp/socket.c                  |  8 ++++----
 net/smc/af_smc.c                   |  6 +++---
 net/socket.c                       | 15 ++++++++++-----
 net/tipc/socket.c                  | 13 +++++--------
 net/unix/af_unix.c                 | 21 ++++++++++-----------
 net/vmw_vsock/af_vsock.c           |  6 +++---
 net/x25/af_x25.c                   |  4 ++--
 36 files changed, 156 insertions(+), 120 deletions(-)

-- 
Jens Axboe


             reply	other threads:[~2024-05-16  2:38 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-16  2:38 Jens Axboe [this message]
2024-05-18 18:07 ` [GIT PULL] Enable IORING_CQE_F_SOCK_NONEMPTY for accept requests pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8c707a5f-2e33-4f5a-99a0-89a194625bcc@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=io-uring@vger.kernel.org \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).