All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] fix SQPOLL and exit races
@ 2021-01-08 20:57 Pavel Begunkov
  2021-01-08 20:57 ` [PATCH 1/4] io_uring: io_rw_reissue lockdep annotations Pavel Begunkov
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Pavel Begunkov @ 2021-01-08 20:57 UTC (permalink / raw)
  To: Jens Axboe, io-uring

The series prevents submissions from SQPOLL thread when sqo_task is
getting killed (or exec()ed). That should solve races introduced by a
patch that allowed task_works during cancellation.

Jens, IIRC you said that io_rw_reissue() is called only during
submission, right? 4/4 depends on that, so 1/4 should help to catch any
misbehaviour. I reduced nr_requests but wasn't able to trigger
io_resubmit_prep() for iopoll or not. What was the trick again?

4/4 is actually fairly simple, but safety measures and comments make it
to bloat. The overhead is pretty negligible, and it allows to kill more,
but that's for-next.

Pavel Begunkov (4):
  io_uring: io_rw_reissue lockdep annotations
  io_uring: inline io_uring_attempt_task_drop()
  io_uring: add warn_once for io_uring_flush()
  io_uring: stop SQPOLL submit on creator's death

 fs/io_uring.c | 97 +++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 71 insertions(+), 26 deletions(-)

-- 
2.24.0


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

end of thread, other threads:[~2021-01-08 21:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-08 20:57 [PATCH 0/4] fix SQPOLL and exit races Pavel Begunkov
2021-01-08 20:57 ` [PATCH 1/4] io_uring: io_rw_reissue lockdep annotations Pavel Begunkov
2021-01-08 20:57 ` [PATCH 2/4] io_uring: inline io_uring_attempt_task_drop() Pavel Begunkov
2021-01-08 20:57 ` [PATCH 3/4] io_uring: add warn_once for io_uring_flush() Pavel Begunkov
2021-01-08 20:57 ` [PATCH 4/4] io_uring: stop SQPOLL submit on creator's death Pavel Begunkov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.