From: Pavel Begunkov <[email protected]>
To: Stefan Metzmacher <[email protected]>, Jens Axboe <[email protected]>,
[email protected]
Subject: Re: [PATCH 1/3] io_uring: fix invalid ctx->sq_thread_idle
Date: Thu, 11 Mar 2021 11:18:15 +0000 [thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
On 10/03/2021 13:56, Stefan Metzmacher wrote:
>
> Hi Pavel,
>
> I wondered about the exact same change this morning, while researching
> the IORING_SETUP_ATTACH_WQ behavior :-)
>
> It still seems to me that IORING_SETUP_ATTACH_WQ changed over time.
> As you introduced that flag, can you summaries it's behavior (and changes)
> over time (over the releases).
Not sure I remember the story in details, but from the beginning it was
for io-wq sharing only, then it had expanded to SQPOLL as well. Now it's
only about SQPOLL sharing, because of the recent io-wq changes that made
it per-task and shared by default.
In all cases it should be checking the passed in file, that should retain
the old behaviour of failing setup if the flag is set but wq_fd is not valid.
>
> I'm wondering if ctx->sq_creds is really the only thing we need to take care of.
io-wq is not affected by IORING_SETUP_ATTACH_WQ. It's per-task and mimics
all the resources of the creator (on the moment of io-wq creation). Off
ATTACH_WQ topic, but that's almost matches what it has been before, and
with dropped unshare bit, should be totally same.
Regarding SQPOLL, it was always using resources of the first task, so
those are just reaped of from it, and not only some particular like
mm/files but all of them, like fork does, so should be safer.
Creds are just a special case because of that personality stuff, at least
if we add back iowq unshare handling.
>
> Do we know about existing users of IORING_SETUP_ATTACH_WQ and their use case?
Have no clue.
> As mm, files and other things may differ now between sqe producer and the sq_thread.
It was always using mm/files of the ctx creator's task, aka ctx->sqo_task,
but right, for the sharing case those may be different b/w ctx, so looks
like a regression to me
--
Pavel Begunkov
next prev parent reply other threads:[~2021-03-11 11:23 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-10 13:13 [PATCH 5.12 0/3] sqpoll fixes/cleanups Pavel Begunkov
2021-03-10 13:13 ` [PATCH 1/3] io_uring: fix invalid ctx->sq_thread_idle Pavel Begunkov
2021-03-10 13:56 ` Stefan Metzmacher
2021-03-11 10:49 ` Stefan Metzmacher
2021-03-11 11:18 ` Pavel Begunkov [this message]
2021-03-11 11:46 ` IORING_SETUP_ATTACH_WQ (was Re: [PATCH 1/3] io_uring: fix invalid ctx->sq_thread_idle) Stefan Metzmacher
2021-03-11 12:02 ` Stefan Metzmacher
2021-03-11 15:28 ` Jens Axboe
2021-03-11 12:27 ` Pavel Begunkov
2021-03-11 12:44 ` Stefan Metzmacher
2021-03-11 15:30 ` Jens Axboe
2021-03-11 15:38 ` Jens Axboe
2021-03-11 15:54 ` Stefan Metzmacher
2021-03-11 15:27 ` Jens Axboe
2021-03-10 13:13 ` [PATCH 2/3] io_uring: remove indirect ctx into sqo injection Pavel Begunkov
2021-03-10 13:13 ` [PATCH 3/3] io_uring: simplify io_sqd_update_thread_idle() Pavel Begunkov
2021-03-10 14:38 ` [PATCH 5.12 0/3] sqpoll fixes/cleanups Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox