On 9/16/21 2:57 AM, Jens Axboe wrote: > On 9/14/21 3:38 PM, Pavel Begunkov wrote: >> On 4/17/21 4:29 PM, Jens Axboe wrote: >>> There's currently no way to experiment with polled IO with null_blk, >>> which seems like an oversight. This patch adds support for polled IO. >>> We keep a list of issued IOs on submit, and then process that list >>> when mq_ops->poll() is invoked. >> >> That would be pretty useful to have. >> >> to fold in: >> >> diff --git a/drivers/block/null_blk/main.c b/drivers/block/null_blk/main.c >> index 5914fed8fa56..eb5cfe189e90 100644 >> --- a/drivers/block/null_blk/main.c >> +++ b/drivers/block/null_blk/main.c >> @@ -1508,7 +1508,7 @@ static int null_poll(struct blk_mq_hw_ctx *hctx) >> cmd = blk_mq_rq_to_pdu(req); >> cmd->error = null_process_cmd(cmd, req_op(req), blk_rq_pos(req), >> blk_rq_sectors(req)); >> - nullb_complete_cmd(cmd); >> + end_cmd(cmd); >> nr++; >> } > > Let's try again with that... I'm not so sure it fixes the problem Bart mentioned, but at least it doesn't crash for me right away (timer mode) and io_uring tests complete well. -- Pavel Begunkov