通过内核任务完成的操作必须使用调用io_uring_submit()的线程。这意味着在内核中完成cqe之前,该线程不能终止。如果从动态线程池提交sqes,则有丢失完成的风险。我不能100%确定accept使用了内核任务,或者这种情况下返回-ECANCEL,但是由于这个原因,我不得不切换到专用线程来提交uring_cmds。liburing特性请求“submit ...
fs/io_uring.c Original file line numberDiff line numberDiff line change @@ -3396,7 +3396,7 @@ static void io_submit_state_end(struct io_submit_state *state) * Start submission side cache. */ static void io_submit_state_start(struct io_submit_state *state, ...
io_req_complete_fail_submit(req); return true; }/* * If we need to drain a request in the middle of a link, drain the * head request and the next request/link after the current link.0 comments on commit b8ce1b9 Please sign in to comment. Footer...