|
|
Log in / Subscribe / Register

io_uring

io_uring

Posted Jun 5, 2026 17:49 UTC (Fri) by calvin (subscriber, #168398)
In reply to: io_uring by josh
Parent article: Moving beyond fork() + exec()

Why not go further? Be able to spawn a process with an empty set of FDs, address space, etc, then load an executable yourself. This would also allow for moving more exec() loader responsibilities into userspace.


to post comments

io_uring

Posted Jun 5, 2026 19:56 UTC (Fri) by josh (subscriber, #17465) [Link]

That would work in many cases, but you still need to handle exec in the kernel for suid or similar.

That said, that does not need to be the high performance case; it would be fine to have a userspace mechanism for everything and have it just not work when escalating privileges.

io_uring

Posted Jun 6, 2026 4:53 UTC (Sat) by IAmLiterallyABee (subscriber, #144892) [Link]

That's basically how Fuchsia works

io_uring

Posted Jun 8, 2026 19:20 UTC (Mon) by kreijack (guest, #43513) [Link]

> Why not go further? Be able to spawn a process with an empty set of FDs, address space, etc, then load an executable yourself. This would also allow for moving more exec() loader responsibilities into userspace.

How it could be useful: with an empty list of FD, there is no way to communicate; without any memory sharing, all the parameter (like the executable path, arguments) has to be "hard coded" in the code...

Unfortunately, the true is that the parent and the child have to have something in common (at least some file descriptors to communicate). But other things can be shared, like shared memory , privileges....

I am curious to see some numbers about the cost of fork+exec vs the zygote patter, just to understand if it is a common problem, or it is only a problem of some edge case.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds