Message ID | cover.1629888991.git.asml.silence@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | open/accept directly into io_uring fixed file table | expand |
On 8/25/21 5:25 AM, Pavel Begunkov wrote: > Add an optional feature to open/accept directly into io_uring's fixed > file table bypassing the normal file table. Same behaviour if as the > snippet below, but in one operation: > > sqe = io_uring_[open|accept]_prep(); > io_uring_submit(sqe); > // ... once we get a CQE back > io_uring_register_files_update(uring_idx, (fd = cqe->res)); > close((fd = cqe->res)); > > The idea is old, and was brough up and implemented a year ago by > Josh Triplett, though haven't sought the light. > > The behaviour is controlled by setting sqe->file_index, where 0 implies > the old behaviour using normal file tables. If non-zero value is > specified, then it will behave as described and place the file into a > fixed file slot sqe->file_index - 1. A file table should be already > created, the slot should be valid and empty, otherwise the operation > will fail. > > note: IOSQE_FIXED_FILE can't be used as a mode switch, because accept > takes a file, and it already uses the flag with a different meaning. Updated the tree and picked you davem's ack as well.