All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC] what exactly prevents io_iopoll_try_reap_events() triggering io_queue_async_work()?
@ 2021-07-22  3:23 Al Viro
  0 siblings, 0 replies; only message in thread
From: Al Viro @ 2021-07-22  3:23 UTC (permalink / raw)
  To: Pavel Begunkov; +Cc: linux-fsdevel

	I really hope that we can't hit io_iopoll_try_reap_events() ->
io_do_iopoll() -> io_iopoll_complete() -> io_queue_async_work() call
chain (if we _can_, there's a lot of nasty stuff possible), but I don't
see any robust proof that it'll never happen.

	Sure, there's that percpu_ref_is_dying(&ctx->refs) test in
io_rw_should_reissue(), but what's to guarantee that it had been
called after the matching percpu_ref_kill(&ctx->refs)?  For that
matter, what about the call from io_uring_cancel_generic() <-
__io_uring_cancel() <- io_uring_files_cancel() <- do_exit()?

	What am I missing here?

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-07-22  3:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-22  3:23 [RFC] what exactly prevents io_iopoll_try_reap_events() triggering io_queue_async_work()? Al Viro

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.