Do you mind pointing out one of those examples? I'm new to this, but if they follow a pattern I should be able to find the other examples based off it. I'm certainly curious to take a look :).
I hope these issues aren't to deep. Ideally there's a nice decoupling so the creating process is just manipulating "inert" data structures for the embryo that scheduler doesn't even need see, and then after the embryonic process is submitted, when the context switches to it for the first time that's a completely normal process without special cases.
The place complexity is hardest to avoid I think would be cleaning up the yet-unborn embryonic processes orphaned by exitted parent(s), because that will have to handle all the semi-initialized states those could be in (as opposed to real processes).
John
On Thu, Jul 29, 2021, at 6:41 PM, Al Viro wrote:
On Thu, Jul 29, 2021 at 04:24:15PM +0200, Christian Brauner wrote:> On Wed, Jul 28, 2021 at 12:37:57PM -0400, John Cotton Ericson wrote:> > Hi,> >> > I was excited to learn about about pidfds the other day, precisely in hopes> > that it would open the door to such a "sane process creation API". I> > searched the LKML, found this thread, and now hope to rekindle the> > discussion; my apologies if there has been more discussion since that I>> Yeah, I haven't forgotten this discussion. A proposal is on my todo list> for this year. So far I've scheduled some time to work on this in the> fall.Keep in mind that quite a few places in kernel/exit.c very much rely upon thelack of anything outside of thread group adding threads into it. Same forfs/exec.c.