![]() | |||||||||||||
Messages in this thread |
Jeff Dike <jdike@addtoit.com> writes: > First of all, for an RFC, this is very thorough. Thank you. > Second, I've been thinking along these lines for UML. The motivation > is to get UML out of the system call tracing business as much as > possible, and to do so by having the host set up such that it can run > system calls itself and they do the same thing as the UML system call > would. > > For example, for a UML process chrooted into a UML filesystem, the > file operations on normal files will do the same thing as they would > in UML, so they could be left to run on the host. > > Similarly, something like virtualized processes could be made to do > the same thing with the process operations. Trivially, getpid() will > return the right value if left to run on the host, so UML wouldn't > need to intercept it. If there is a process tree inside a container > that mirrors the UML process tree, then lots of other system calls > also work, and don't need to be intercepted. > > Ideally, I'd like namespaces on the host for all the resources under > UML control, and for a container to group those namespaces. However, > something which stops short of that is still usable - UML just gets > less benefit from it. Having all of the namespaces is certainly on my TODO list. I'm not at all certain if there is a need for a kernel container concept. > As far as processes go, ideally I'd like a containerized process to be > an empty shell which can be completely filled from userspace. The > motivation for this is that when you have a UP UML with 100 processes, > it's wasteful to have 100 virtualized processes on the host. What I > would want is one virtualized process which can be completely refilled > with new attributes on a context switch. > > What I want to do is related to process migration, where you want to > move a process but have it not be able to tell. I'm describing > migrating a process from the UML to the host such that the host > performs as many system calls itself, but those which can't get > intercepted and executed within the UML. For migration between > physical machines, this would be the same as redirecting a system call > from the new host back to its original home. You want to do that as > infrequently as possible, so you want the container to provide as much > context from the home host as possible. Currently redirecting a system call from the new host back to it's original home is not something I had planned on. Most of the reasons I want to migrate relate to avoiding the hardware I am migrating from. Either to reduce it's load or to leave before the hardware dies. That said the idea of a user space monitor that can handle the strange virtualization things that don't fit well into the kernel is appealing. Note all of the migration I am looking is not process migration but container migration. So I want a container per application. Eric - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2006-02-07 19:37 [from the cache] ©2003-2008 | |||||||||||||