xen-devel
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
|
|
|