DragonFly kernel List (threaded) for 2010-03
Re: Port DragonFly to Xen platform
Sylvestre Gallon wrote:
Hello - Looks good (to me anyway) -
I think it's important probably to clarify if you are doing an actual
KVM port, or a KVM-like (e.g. similar) system..
Personally, being familiar with how the vkernel is implemented,
I think it would be fairly straightforward (and possibly easier) to
make a new system that is merely KVM-like (e.g. uses regular kernel and
not hypervisor to run VM's in separate VT-spaces)
This would save all of the QEMU-compatibility misc, make supporting all
of the graphics stuff and other related things "optional" for later
(simple serial console could be done to start, etc)
On the other hand, a straight reimplementation (be careful about *PORT*
from Linux - GPL!!) of KVM might gain support of many nice managment
With that in mind, we could always add our own - if not in base then in
For a good tutorial on how the vkernel works - I'd suggest investigating
how the device drivers work (as you mention) and also the process
scheduler - as there are lots of things that travel across the VM
boundary in these. You'll of course need to look at the 'non-vkernel'
architecture to get a sense of what is happening here to deal with
running vkernels. The keyword is "vmspace".
Also - Matt? added a 'IO thread' to make disk io speed up at some point
- looking at the code before this happened might make it easier to
understand the general concept, but I'm not familiar with this code so
I'm not sure- it could help too.
Another good thing might be to go in the mailing list archives to read
Matt's initial posts when he came up with the VKERNEL and the related
activity from other users at this time - lots of good stuff there. I
think (from memory) - fall 2006 or spring 2007 is about the time- but I
could be off by a year.
I'd probably suggest getting familiar with these things, reworking the
proposal according to your findings, and taking it from there.. but
that's just me. If you feel like writing e.g. vmspace man pages while
you're at it feel free :)
good luck with your ongoing work!