On 3/15/24 9:30 AM, Pavel Begunkov wrote: > io_post_aux_cqe(), which is used for multishot requests, delays > completions by putting CQEs into a temporary array for the purpose > completion lock/flush batching. > > DEFER_TASKRUN doesn't need any locking, so for it we can put completions > directly into the CQ and defer post completion handling with a flag. > That leaves !DEFER_TASKRUN, which is not that interesting / hot for > multishot requests, so have conditional locking with deferred flush > for them. This breaks the read-mshot test case, looking into what is going on there. -- Jens Axboe