[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Wed, 7 Jul 2021 12:39:42 +0100
From: Pavel Begunkov <asml.silence@...il.com>
To: Jens Axboe <axboe@...nel.dk>, io-uring@...r.kernel.org
Cc: "David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org
Subject: [RFC 0/4] open/accept directly into io_uring fixed file table
Implement an old idea allowing open/accept io_uring requests to register
a newly created file as a io_uring's fixed file instead of placing it
into a task's file table. The switching is encoded in io_uring's SQEs
by setting sqe->buf_index/file_index, so restricted to 2^16-1. Don't
think we need more, but may be a good idea to scrap u32 somewhere
instead.
>From the net side only needs a function doing __sys_accept4_file()
but not installing fd, see 2/4.
Only RFC for now, the new functionality is tested only for open yet.
I hope we can remember the author of the idea to add attribution.
Pavel Begunkov (4):
io_uring: allow open directly into fixed fd table
net: add an accept helper not installing fd
io_uring: hand code io_accept()' fd installing
io_uring: accept directly into fixed file table
fs/io_uring.c | 113 +++++++++++++++++++++++++++++-----
include/linux/socket.h | 3 +
include/uapi/linux/io_uring.h | 2 +
net/socket.c | 71 +++++++++++----------
4 files changed, 138 insertions(+), 51 deletions(-)
--
2.32.0
Powered by blists - more mailing lists