DragonFly BSD
DragonFly kernel List (threaded) for 2010-03
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Port DragonFly to Xen platform


From: Freddie Cash <fjwcash@xxxxxxxxx>
Date: Mon, 29 Mar 2010 15:15:52 -0700

On Mon, Mar 29, 2010 at 2:17 PM, Magnus Eriksson <magetoo@fastmail.fm> wrote:
On Mon, 29 Mar 2010, Sylvestre Gallon wrote:

Do you want me to try to make the same study for Xen (it will probably
take more time) or do you want me to focus on kvm? After some reading
I found the KVM project funnier :D .

I for one would be interested in seeing a Xen port.  Not that you should pay much attention to my opinion if there are others that think KVM is the way to go, but it would be pretty neat to be able to have DragonFly running "natively" in a Xen VM (especially since NetBSD is my main platform, and the webhost I plan to use also provide Xen VMs).


If I recall correctly, Manuel Bouyer did the initial Xen 2 NetBSD port in about two weeks (DomU) -- things have presumably changed a lot in Xen since then, but it suggests that Xen is not necessarily as huge and hairy as others have said.  (Then again, maybe it is, when you get to implementing the Dom0 bits.)

HVM DomU support should be "free".  If DFly runs in QEmu, it should run in an HVM domU without issues.

PV DomU support is "fairly easy", in that you just need to come up with a paravirt driver for the console, network, and storage devices.  PCI- and USB-passthrough will be harder.

Dom0 support is hard, and requires a lot of changes to the kernel, as you are essentially adding a whole new CPU architecture (Xen).

In the long-run, a KVM-like system where the DFly kernel becomes the hypervisor and VMs run as user processes is better than the Xen split-dom, "we're our own architecture, but we fake it using a real kernel" stuff.  And the start of this setup is already there, in the vkernel stuff.  In theory, it "shouldn't be too hard" to get a KVM-like system working.  ;)

--
Freddie Cash
fjwcash@gmail.com


[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]