All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 5.12 0/8] remove task file notes
@ 2021-03-06 11:02 Pavel Begunkov
  2021-03-06 11:02 ` [PATCH v4 1/8] io_uring: make del_task_file more forgiving Pavel Begunkov
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Pavel Begunkov @ 2021-03-06 11:02 UTC (permalink / raw)
  To: Jens Axboe, io-uring

Introduce a mapping from ctx to all tctx, and using that removes
file notes, i.e. taking a io_uring file note previously stored in
task->io_uring->xa. It's needed because we don't free io_uring ctx
until all submitters die/exec, and it became worse after killing
 ->flush(). There are rough corner in a form of not behaving nicely,
I'll address in follow-up patches. Also use it to do cancellations
right.

The torture is as simple as below. It will get OOM in no time. Also,
I plan to use it to fix recently broken cancellations.

while (1) {
	assert(!io_uring_queue_init(8, &ring, 0));
	io_uring_queue_exit(&ring);
}

WARNING: hangs without reverting sq park refactoring

v2: rebase (resolve conflicts)
    drop taken 2 patches
v3: use jiffies in 6/6 (Jens)
v4: 2 patches, 7/8 fix cancellation regressions

Pavel Begunkov (8):
  io_uring: make del_task_file more forgiving
  io_uring: introduce ctx to tctx back map
  io_uring: do ctx initiated file note removal
  io_uring: don't take task ring-file notes
  io_uring: index io_uring->xa by ctx not file
  io_uring: warn when ring exit takes too long
  io_uring: cancel reqs of all iowq's on ring exit
  io-wq: warn on creating manager awhile exiting

 fs/io-wq.c               |   2 +
 fs/io_uring.c            | 173 ++++++++++++++++++++++++++++++++-------
 include/linux/io_uring.h |   2 +-
 3 files changed, 147 insertions(+), 30 deletions(-)

-- 
2.24.0


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

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

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-06 11:02 [PATCH v4 5.12 0/8] remove task file notes Pavel Begunkov
2021-03-06 11:02 ` [PATCH v4 1/8] io_uring: make del_task_file more forgiving Pavel Begunkov
2021-03-06 11:02 ` [PATCH v4 2/8] io_uring: introduce ctx to tctx back map Pavel Begunkov
2021-03-06 11:02 ` [PATCH v4 3/8] io_uring: do ctx initiated file note removal Pavel Begunkov
2021-03-06 11:02 ` [PATCH v4 4/8] io_uring: don't take task ring-file notes Pavel Begunkov
2021-03-06 11:02 ` [PATCH v4 5/8] io_uring: index io_uring->xa by ctx not file Pavel Begunkov
2021-03-06 11:02 ` [PATCH v4 6/8] io_uring: warn when ring exit takes too long Pavel Begunkov
2021-03-06 11:02 ` [PATCH v4 7/8] io_uring: cancel reqs of all iowq's on ring exit Pavel Begunkov
2021-03-06 11:02 ` [PATCH v4 8/8] io-wq: warn on creating manager awhile exiting Pavel Begunkov
2021-03-08 21:05 ` [PATCH v4 5.12 0/8] remove task file notes Jens Axboe

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.