Messages in this thread | | | Subject | Re: [RFC 0/4] open/accept directly into io_uring fixed file table | From | Hao Xu <> | Date | Wed, 21 Jul 2021 15:11:00 +0800 |
| |
在 2021/7/7 下午7:39, Pavel Begunkov 写道: > 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. > Great feature! I believe this one leverages linked sqes, we may need to remind users to be careful when they use this feature in shared sqthread mode since linked sqes may be splited. > 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(-) >
| |