io_uring: add file set registration
We normally have to fget/fput for each IO we do on a file. Even with the batching we do, the cost of the atomic inc/dec of the file usage count adds up. This adds IORING_REGISTER_FILES, and IORING_UNREGISTER_FILES opcodes for the io_uring_register(2) system call. The arguments passed in must be an array of __s32 holding file descriptors, and nr_args should hold the number of file descriptors the application wishes to pin for the duration of the io_uring instance (or until IORING_UNREGISTER_FILES is called). When used, the application must set IOSQE_FIXED_FILE in the sqe->flags member. Then, instead of setting sqe->fd to the real fd, it sets sqe->fd to the index in the array passed in to IORING_REGISTER_FILES. Files are automatically unregistered when the io_uring instance is torn down. An application need only unregister if it wishes to register a new set of fds. Reviewed-by:Hannes Reinecke <hare@suse.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk>
Loading
-
mentioned in commit e48aae69
-
mentioned in commit 5d02f7cd
-
mentioned in commit 836570b5
-
mentioned in commit 8d63a4b0
-
mentioned in commit d9549e2a
-
mentioned in commit 00b5b928
-
mentioned in commit 18924cfd
-
mentioned in commit 01389985
-
mentioned in commit eda242fa
-
mentioned in commit 6c2de0ef
-
mentioned in commit 1d927b93
-
mentioned in commit ec3c0bd9
Please sign in to comment