Please enable JavaScript.
Coggle requires JavaScript to display documents.
null_blk timeout - Coggle Diagram
null_blk timeout
investigation
trace do_exit
why are there two exit hanlding?
exit_work
scheduled in io_uring_release()
io_uring_files_cancel(cancel_all is false)
trace .release() of uring_fd and nullb0
trace exit_work
observation
timeout
ctrl+c on t/io_uring /dev/nullb0
no change after adding req via cmd->node
no change by removing batch completion
io_wq_submit_work is involved
cpu utilization is > 1300%
io_uring exit code path
io_ring_exit_work() is scheduled in ring_fd release handler
delayed __fput()
caused by io_wq
caused by -EAGAIN
io_comp_batch
who trigger the last comp?
should be ->poll() caller
->iopoll()
io_do_iopoll
t/io_uring
setup
IOPOLL
no IORING_SETUP_SQPOLL
IORING_SETUP_COOP_TASKRUN
IORING_SETUP_SINGLE_ISSUER
IORING_SETUP_DEFER_TASKRUN
ideas
fast EAGAIN reproduction
by providing less queue depth