liburing icon indicating copy to clipboard operation
liburing copied to clipboard

io_uring nvme passthrough failed : "test_io_uring_submit_enters failed"

Open jdmfr opened this issue 2 years ago • 1 comments
trafficstars

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?

jdmfr avatar Aug 10 '23 12:08 jdmfr

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.

isilence avatar Aug 29 '23 13:08 isilence