When a ring is set up with IORING_SETUP_DEFER_TASKRUN, and I then submit 100 read requests and sleep a second for all of them to complete, calling io_uring_wait_cqes() with wait_nr = 1 appears to only return 20 completions at a time. Is this expected? Is it possible to get all pending completion events at once, or at least know that more events are pending and that io_uring_wait_cqes() needs to be called again?
Kernel version is 6.17. The reads are for NVME blocks.