From: Pavel Begunkov <[email protected]>
To: Askar Safin <[email protected]>
Cc: [email protected], [email protected], [email protected],
[email protected]
Subject: Re: [PATCH RFC 0/9] Launching processes with io_uring
Date: Sun, 19 Jan 2025 03:04:30 +0000 [thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
On 1/18/25 22:33, Askar Safin wrote:
> Pavel Begunkov:
>> At this point it raises a question why it even needs io_uring
>> infra? I don't think it's really helping you. E.g. why not do it
>> as a list of operation in a custom format instead of links? That
>> can be run by a single io_uring request or can even be a normal
>> syscall.
>
>> Makes me wonder about a different ways of handling. E.g. why should
>> it be run in the created task context (apart from final exec)? Can
>> requests be run as normal by the original task, each will take the
>> half created and not yet launched task as a parameter (in some form),
>> modify it, and the final exec would launch it?
>
> I totally agree. I think API should look like this:
>
> ===
> // This may be PID fd or something completely different
> int fd = create_task ();
>
> task_manipulate (fd, OP_CHDIR, "/");
> task_manipulate (fd, OP_CLOSE, 0);
> task_manipulate (fd, OP_OPEN, "/dev/null", O_RDONLY, 0666);
>
> task_execve (fd, "/bin/true", argv, envp);
> ===
That's one way of doing it. The api would be nice, it'd fit into
io_uring without extra tricks, and wouldn't even hard io_uring.
Though that could take a good amount of plumbing.
I also wonder, if copying the page table is a performance problem, why
CLONE_VM + exec is not an option? It's flexible, sounds like
posix_spawn does exactly that under the hood, and people tried it
and managed to outperform posix_spawn.
--
Pavel Begunkov
prev parent reply other threads:[~2025-01-19 3:03 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-09 23:43 [PATCH RFC 0/9] Launching processes with io_uring Gabriel Krisman Bertazi
2024-12-09 23:43 ` [PATCH RFC 1/9] io_uring: Drop __io_req_find_next_prep Gabriel Krisman Bertazi
2024-12-09 23:43 ` [PATCH RFC 2/9] io_uring: Expose failed request helper in internal header Gabriel Krisman Bertazi
2024-12-09 23:43 ` [PATCH RFC 3/9] kernel/fork: Don't inherit PF_USER_WORKER from parent Gabriel Krisman Bertazi
2024-12-09 23:43 ` [PATCH RFC 4/9] fs/exec: Expose do_execveat symbol Gabriel Krisman Bertazi
2024-12-09 23:43 ` [PATCH RFC 5/9] kernel/fork: Add helper to fork from io_uring Gabriel Krisman Bertazi
2024-12-09 23:43 ` [PATCH RFC 6/9] io_uring: Let commands run with current credentials Gabriel Krisman Bertazi
2024-12-11 14:48 ` Pavel Begunkov
2024-12-09 23:43 ` [PATCH RFC 7/9] io_uring: Introduce IORING_OP_CLONE Gabriel Krisman Bertazi
2024-12-11 13:37 ` Pavel Begunkov
2024-12-11 17:26 ` Josh Triplett
2024-12-17 11:03 ` Pavel Begunkov
2024-12-17 19:14 ` Josh Triplett
2024-12-09 23:43 ` [PATCH RFC 8/9] io_uring: Let ->issue know if it was called from spawn thread Gabriel Krisman Bertazi
2024-12-09 23:43 ` [PATCH RFC 9/9] io_uring: Introduce IORING_OP_EXEC command Gabriel Krisman Bertazi
2024-12-10 21:01 ` Josh Triplett
2024-12-10 21:10 ` [PATCH RFC 0/9] Launching processes with io_uring Josh Triplett
2024-12-11 14:02 ` Pavel Begunkov
2024-12-11 17:34 ` Josh Triplett
2024-12-13 20:13 ` Gabriel Krisman Bertazi
2024-12-17 16:10 ` Pavel Begunkov
2024-12-30 23:38 ` Gabriel Krisman Bertazi
2024-12-31 14:35 ` Pavel Begunkov
2025-01-18 22:33 ` Askar Safin
2025-01-19 3:04 ` Pavel Begunkov [this message]
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] \
[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