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

Re: [Xen-devel] Xen as a kernel module



Steven Hand wrote:

Maybe - I guess it depends on what you mean. If you have: [ VM1 ] [ VM2 ] .... [ VMN ] [ new type II version of Xen ] [ linux kernel ]
              [ hardware ]

Sorry if this came out sounding as a bit of a troll, anyway, my suggested setup would look like this:

      [ VM1 ]   [ VM2 ] ....   [ VMN ]

          [ Xen + linux kernel ]

               [ hardware ]


then you require a way for VMx to communicate the new Xen thing, which then needs to syscall into the linux kernel. I'm not sure what VMx<->Xen comms would look like, or how it would perform. If
you retain safety it seems like you might end up with the performance
of UML, which if you go for 'high performance' then you may need to turn off the safety catch.

Right now Xen is mapped somewhere in top of memory, I am not sure how domains are kept out of there, but I suppose it has to do with segments. The good thing about that is that hypercalls are cheap, and in Xen1.x I/O was cheap as well.

My suggestion/question was a) why don't we just put a full Linux up there, including drivers, and b) can we provide the Xen hypercall interface on top of other OSes as well?

How did you see this working?

For Linux, I would relocate it to the top X megs of memory, and I would merge the Xen and Linux syscall handlers, essentially supporting two process models under the same OS. I would not map all of memory to Linux, just the pages it needs for its own stuff. For a driver OS, this would be fine, if you want to run applications as well there would be a tradeoff between how much you map to Linux and how much to Xen domains.

What aspects of performance under Xen are you finding unacceptable?

I generally find performance acceptable, but as I said there are cases where there appears to be some friction against the goals of Xen (driver isolation) and the goals of the application (throughput, low latency).

Well isolation (both security and performance) are two explicit design goals of Xen. If you want to have the illusion of multiple kernels without these properties, you can use linux vservers or BSD jail.

I would argue that you could get the same level of isolation (except from driver isolation) if you merge the two, while achieving the same IO performance as the monolithic model, and still be able to reuse existing driver code.

I imagine this could be done in a way that would also work under other host-OSes, like *BSD or Windows.


Again, I'm not sure how much code-base similarity there would be with
either current Xen or the type-II variant that you propose above.

It would still be interesting to reuse existing Xen guestOS ports on top of different hypervisor implementations.

Jacob


-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.