On 08/10/2019 06:16, Jens Axboe wrote: > On 10/7/19 5:18 PM, Pavel Begunkov (Silence) wrote: >> From: Pavel Begunkov >> >> Any changes interesting to tasks waiting in io_cqring_wait() are >> commited with io_cqring_ev_posted(). However, io_ring_drop_ctx_refs() >> also tries to do that but with no reason, that means spurious wakeups >> every io_free_req() and io_uring_enter(). >> >> Just use percpu_ref_put() instead. > > Looks good, this is a leftover from when the ctx teardown used > the waitqueue as well. > BTW, is there a reason for ref-counting in struct io_kiocb? I understand the idea behind submission reference, but don't see any actual part needing it. Tested with another ref-counting patch and got +5-8% to nops performance. -- Yours sincerely, Pavel Begunkov