Skip to the content.

iouring register fds

io_uring_register_fd(3)

完全相同的道理,

不难找到 IOSQE_FIXED_FILE 中的 flgs 在内核中表示为 REQ_F_FIXED_FILE

他们的一个经典区别在于 io_assign_file 中

	if (req->flags & REQ_F_FIXED_FILE)
		req->file = io_file_get_fixed(req, req->cqe.fd, issue_flags);
	else
		req->file = io_file_get_normal(req, req->cqe.fd);

io_file_get_normal 就是一个很简单的访问数组,而 io_file_get_fixed 会进入到一个痛苦的 vfs 的 fget 中, 如果每次 io 都进行这样的操作,这个开销的确存在优化的空间。

本站所有文章转发 CSDN 将按侵权追究法律责任,其它情况随意。