public inbox for [email protected]
 help / color / mirror / Atom feed
* [PATCH v3 0/2] poll_refs armoring
@ 2022-11-20 16:57 Pavel Begunkov
  2022-11-20 16:57 ` [PATCH v3 1/2] io_uring: cmpxchg for poll arm refs release Pavel Begunkov
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Pavel Begunkov @ 2022-11-20 16:57 UTC (permalink / raw)
  To: io-uring; +Cc: Jens Axboe, asml.silence

Make poll_refs more robust and protected from overflows. The mechanism
description is in 2/2. 1/2 helps to make the second patch a little bit
cleaner by tunnelling all edge cases from arming to a tw.

A good way to test is to set IO_POLL_REF_BIAS to 0 and 1. 0 will make
the slowpath to be hit every single time, and 1 triggers it in case of
races.

v2: clear the retry flag before vfs_poll()
v3: fix not handling arm_poll* refs release edge cases with patch 1/2

Pavel Begunkov (2):
  io_uring: cmpxchg for poll arm refs release
  io_uring: make poll refs more robust

 io_uring/poll.c | 44 ++++++++++++++++++++++++++++++++++++++------
 1 file changed, 38 insertions(+), 6 deletions(-)

-- 
2.38.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-11-25 13:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-20 16:57 [PATCH v3 0/2] poll_refs armoring Pavel Begunkov
2022-11-20 16:57 ` [PATCH v3 1/2] io_uring: cmpxchg for poll arm refs release Pavel Begunkov
2022-11-25 13:51   ` Pavel Begunkov
2022-11-25 13:55     ` Jens Axboe
2022-11-20 16:57 ` [PATCH v3 2/2] io_uring: make poll refs more robust Pavel Begunkov
2022-11-21 17:10 ` [PATCH v3 0/2] poll_refs armoring Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox