liburing
liburing copied to clipboard
io_uring nvme passthrough failed : "test_io_uring_submit_enters failed"
Hi,
I am studying passthru mechanism by running io_uring_passthrough.t , but it runs fail.
If my usage isn't wrong ,it is
./io_uring_passthrough.t /dev/ng0n1
But I got the ret-message:
test_io_uring_submit_enters failed , which is caused by no detected cqe. After failed ,there is a kthread kworker/u64:16+events_unbound still running with cpu utilities 100%, seems polling the cqe(but can't trace its stack by catting /proc/xxxx/stack)
By the way, my environment is latest liburing + linux6.4 ,with my ssd default/read/poll queues 15/0/1 , /dev/ng0n1 enabled of course. I have already use FIO to test uring passthru, and it works well.
Do you have any suggestions how I can debugging?
It would be helpful if you can help to narrow it down. There is a bunch of options/cases inside, what we can do is disable all of them and then enable them back one by one until it fails. Look at main.c, we're interested in test_io_uring_submit_enters() and test_invalid_passthru_submit() calls, and the loop calling test_io(). I'd start with the loop, replace 16 to 1 in the check, test it, set limit to 2, test and so on.