On 11/25/22 6:51 AM, Pavel Begunkov wrote: > On 11/20/22 16:57, Pavel Begunkov wrote: >> Replace atomically substracting the ownership reference at the end of >> arming a poll with a cmpxchg. We try to release ownership by setting 0 >> assuming that poll_refs didn't change while we were arming. If it did >> change, we keep the ownership and use it to queue a tw, which is fully >> capable to process all events and (even tolerates spurious wake ups). >> >> It's a bit more elegant as we reduce races b/w setting the cancellation >> flag and getting refs with this release, and with that we don't have to >> worry about any kinds of underflows. It's not the fastest path for >> polling. The performance difference b/w cmpxchg and atomic dec is >> usually negligible and it's not the fastest path. > > Jens, can you add a couple of tags? Not a fix but the second patch > depends on it but applies cleanly even without 1/2, which may mess > things up. > > Cc: stable@xxxxxxxxxxxxxxx > Fixes: aa43477b04025 ("io_uring: poll rework") Sure, done. -- Jens Axboe