DragonFly kernel List (threaded) for 2007-01
Re: VKernel progress update - 8 Jan 2006 (milestone reached!)
:Will a virtual kernel be able to run another virtual kernel as one of
:its user processes?
There are only minor roadblocks to being able to do so. Once I get
the VM system stabilized it shouldn't take long to make that work.
Performance will suffer greatly until some optimizations are made,
though. In particular, the system call path, copyin/copyout paths,
and page fault paths.
The biggest limitation to these environments is simply going to be
available system memory. If you tell a virtual kernel that it has
256M of main memory, then it will only really be happy if it can
actually use 256M of main memory without thrashing the real system.
If you create a virtual kernel inside a virtual kernel, the memory
gets subdivided so the parent virtual kernel would need a rather
significant reservation in order for the child to be able to do anything
meaningful. At least there isn't any duplication of data in memory
(once the VK disk starts using direct I/O to prevent it from being
cached by the parent kernel).