[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <7a0893f0-bae8-4aee-9e05-7c81354fc829@kernel.dk>
Date: Mon, 30 Oct 2023 08:36:04 -0600
From: Jens Axboe <axboe@...nel.dk>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: io-uring <io-uring@...r.kernel.org>, netdev <netdev@...r.kernel.org>,
Breno Leitao <leitao@...ian.org>
Subject: [GIT PULL] io_uring support for get/setsockopt
Hi Linus,
On top of the core io_uring changes, this pull request adds support for
using getsockopt and setsockopt via io_uring. The main use cases for
this is to enable use of direct descriptors, rather than first
instantiating a normal file descriptor, doing the option tweaking
needed, then turning it into a direct descriptor. With this support, we
can avoid needing a regular file descriptor completely.
The net and bpf bits have been signed off on their side.
Please pull!
The following changes since commit 6ce4a93dbb5bd93bc2bdf14da63f9360a4dcd6a1:
io_uring/poll: use IOU_F_TWQ_LAZY_WAKE for wakeups (2023-10-19 06:42:29 -0600)
are available in the Git repository at:
git://git.kernel.dk/linux.git tags/for-6.7/io_uring-sockopt-2023-10-30
for you to fetch changes up to b9ec913212e6e91efa5a0a612c4a8ec4cf5da896:
selftests/bpf/sockopt: Add io_uring support (2023-10-19 16:42:04 -0600)
----------------------------------------------------------------
for-6.7/io_uring-sockopt-2023-10-30
----------------------------------------------------------------
Breno Leitao (11):
bpf: Add sockptr support for getsockopt
bpf: Add sockptr support for setsockopt
net/socket: Break down __sys_setsockopt
net/socket: Break down __sys_getsockopt
io_uring/cmd: Pass compat mode in issue_flags
tools headers: Grab copy of io_uring.h
selftests/net: Extract uring helpers to be reusable
io_uring/cmd: return -EOPNOTSUPP if net is disabled
io_uring/cmd: Introduce SOCKET_URING_OP_GETSOCKOPT
io_uring/cmd: Introduce SOCKET_URING_OP_SETSOCKOPT
selftests/bpf/sockopt: Add io_uring support
include/linux/bpf-cgroup.h | 9 +-
include/linux/io_uring.h | 1 +
include/net/sock.h | 6 +-
include/uapi/linux/io_uring.h | 8 +
io_uring/uring_cmd.c | 53 ++
kernel/bpf/cgroup.c | 25 +-
net/core/sock.c | 8 -
net/socket.c | 104 ++-
tools/include/io_uring/mini_liburing.h | 282 ++++++++
tools/include/uapi/linux/io_uring.h | 757 +++++++++++++++++++++
tools/testing/selftests/bpf/prog_tests/sockopt.c | 113 ++-
tools/testing/selftests/net/Makefile | 1 +
tools/testing/selftests/net/io_uring_zerocopy_tx.c | 268 +-------
13 files changed, 1301 insertions(+), 334 deletions(-)
create mode 100644 tools/include/io_uring/mini_liburing.h
create mode 100644 tools/include/uapi/linux/io_uring.h
--
Jens Axboe
Powered by blists - more mailing lists