On 12/4/22 7:44?PM, Pavel Begunkov wrote: > We want to limit post_aux_cqe() to the task context when ->task_complete > is set, and so we can't just deliver a IORING_OP_MSG_RING CQE to another > thread. Instead of trying to invent a new delayed CQE posting mechanism > push them into the overflow list. This is really the only one out of the series that I'm not a big fan of. If we always rely on overflow for msg_ring, then that basically removes it from being usable in a higher performance setting. The natural way to do this would be to post the cqe via task_work for the target, ring, but we also don't any storage available for that. Might still be better to alloc something ala struct tw_cqe_post { struct task_work work; s32 res; u32 flags; u64 user_data; } and post it with that? -- Jens Axboe