All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] io_uring 'more data in socket' support
@ 2022-05-22 21:26 Jens Axboe
  2022-05-23 20:42 ` pr-tracker-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Jens Axboe @ 2022-05-22 21:26 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: io-uring, netdev

Hi Linus,

To be able to fully utilize the 'poll first' support in the core
io_uring branch, it's advantageous knowing if the socket was empty after
a receive. This pull request adds support for that.

The core networking change conflicted with changes in netdev-next, so
it's sitting in a separate branch that both Jakub and I pulled in.

Note that this will through a merge conflict due to later changes in the
core io_uring branch, resolution:

diff --cc fs/io_uring.c
index d9529275a030,20c5d29e5b6c..1015dd49e7e5
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@@ -6115,6 -5947,8 +6115,7 @@@ static int io_recvmsg(struct io_kiocb *
  	struct io_async_msghdr iomsg, *kmsg;
  	struct io_sr_msg *sr = &req->sr_msg;
  	struct socket *sock;
 -	struct io_buffer *kbuf;
+ 	unsigned int cflags;
  	unsigned flags;
  	int ret, min_ret = 0;
  	bool force_nonblock = issue_flags & IO_URING_F_NONBLOCK;
@@@ -6154,7 -5982,10 +6155,8 @@@
  	if (flags & MSG_WAITALL)
  		min_ret = iov_iter_count(&kmsg->msg.msg_iter);
  
+ 	kmsg->msg.msg_get_inq = 1;
 -
 -	ret = __sys_recvmsg_sock(sock, &kmsg->msg, req->sr_msg.umsg,
 -					kmsg->uaddr, flags);
 +	ret = __sys_recvmsg_sock(sock, &kmsg->msg, sr->umsg, kmsg->uaddr, flags);
  	if (ret < min_ret) {
  		if (ret == -EAGAIN && force_nonblock)
  			return io_setup_async_msg(req, kmsg);


Please pull!


The following changes since commit 8013d1d3d2e33236dee13a133fba49ad55045e79:

  Merge tag 'soc-fixes-5.18-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc (2022-04-29 15:51:05 -0700)

are available in the Git repository at:

  git://git.kernel.dk/linux-block.git tags/for-5.19/io_uring-net-2022-05-22

for you to fetch changes up to f548a12efd5ab97e6b1fb332e5634ce44b3d9328:

  io_uring: return hint on whether more data is available after receive (2022-04-29 21:12:12 -0600)

----------------------------------------------------------------
for-5.19/io_uring-net-2022-05-22

----------------------------------------------------------------
Jens Axboe (4):
      tcp: pass back data left in socket after receive
      Merge branch 'for-5.19/io_uring-socket' into for-5.19/io_uring-net
      Merge branch 'tcp-pass-back-data-left-in-socket-after-receive' of git://git.kernel.org/pub/scm/linux/kernel/git/kuba/linux into for-5.19/io_uring-net
      io_uring: return hint on whether more data is available after receive

 fs/io_uring.c                 | 19 +++++++++++++++----
 include/linux/socket.h        |  6 +++++-
 include/uapi/linux/io_uring.h |  2 ++
 net/ipv4/tcp.c                | 16 ++++++++++------
 4 files changed, 32 insertions(+), 11 deletions(-)

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [GIT PULL] io_uring 'more data in socket' support
  2022-05-22 21:26 [GIT PULL] io_uring 'more data in socket' support Jens Axboe
@ 2022-05-23 20:42 ` pr-tracker-bot
  0 siblings, 0 replies; 2+ messages in thread
From: pr-tracker-bot @ 2022-05-23 20:42 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Linus Torvalds, io-uring, netdev

The pull request you sent on Sun, 22 May 2022 15:26:13 -0600:

> git://git.kernel.dk/linux-block.git tags/for-5.19/io_uring-net-2022-05-22

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/e1a8fde7203fa8a3e3f35d4f9df47477d23529c1

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-05-23 20:42 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-22 21:26 [GIT PULL] io_uring 'more data in socket' support Jens Axboe
2022-05-23 20:42 ` pr-tracker-bot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.