On 02/02/2021 11:05, Pavel Begunkov wrote: > On 02/02/2021 05:36, Victor Stewart wrote: >> started experimenting with sqpoll and my fastpoll accepts started >> failing. was banging my head against the wall for a few hours... wrote >> this test case below.... >> >> basically fastpoll accept only works without sqpoll, and without >> adding IOSQE_FIXED_FILE to the sqe. fails with both, fails with >> either. these must be bugs? >> >> I'm running Clear Linux 5.10.10-1017.native. >> >> i hope no one here is allergic to C++, haha. compilation command >> commented in the gist, just replace the two paths. and I can fold >> these checks if needed into a liburing PR later. >> >> https://gist.github.com/victorstewart/98814b65ed702c33480487c05b40eb56 > > Please don't forget about checking error codes. At least fixed > files don't work for you because of > > int fds[10]; > memset(fds, -1, 10); // 10 bytes, not 10 ints > > So io_uring_register_files() silently fails. > > > For me, all two "with SQPOLL" tests spit SUCCESS, then it hangs. > But need to test it with upstream to be sure. Also you forget to submit, all works with these 2 changes. When you don't do io_uring_submit(), apparently it gets live-locked in liburing's _io_uring_get_cqe(), that's a bug. -- Pavel Begunkov