With a UML running in skas mode, the process address space is identical to
what it would be on the host. Migrating one to the host would be a matter
Sticking a process in it
Releasing that process from ptrace
Recreating the required kernel state in the host kernel
Kicking the process out of the UML kernel and into userspace somehow
Letting it run
Step 3 is obviously where the meat of the problem is. The process needs
to have available on it all the resources it had in UML -
the same files
network connections (puntable on a first pass)
process relationships (I have no idea what to do about a parent
process on the host, nor what to do with children whose parent has been
migrated, or ipc mechanisms, except to do the Mosix thing and have little
proxies sitting around passing information between UML and the host).
And since I've brought up Mosix, as did Werner, the fastest way to get
this working is probably to finish off the OpenMosix/UML port (which was
close from what I heard), and cluster a UML and its host. You should get
process migration for free.
Just remember to prevent the host from trying to migrate a UML to itself.
That would be very bad.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to firstname.lastname@example.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/