On Thu, 29 Feb 2024 16:36:37 +0000, Pavel Begunkov wrote: > With defer taskrun we store aux cqes into a cache array and then flush > into the CQ, and we also maintain the ordering so aux cqes are flushed > before request completions. Why do we need the cache instead of pushing > them directly? We acutally don't, so let's kill it. > > One nuance is synchronisation -- the path we touch here is only for > DEFER_TASKRUN and guaranteed to be executed in the task context, and > all cqe posting is serialised by that. We also don't need locks because > of that, see __io_cq_lock(). > > [...] Applied, thanks! [1/1] io_uring: get rid of intermediate aux cqe caches commit: a7fa76c8565aa6cbeb5030a6597d85643de0a306 Best regards, -- Jens Axboe