WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: Device model architecture (Was Re: [Xen-devel] Re: Are linkerscripts

To: Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>
Subject: Re: Device model architecture (Was Re: [Xen-devel] Re: Are linkerscripts needed?)
From: Arun Sharma <arun.sharma@xxxxxxxxx>
Date: Fri, 27 May 2005 11:06:41 -0700
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 27 May 2005 18:06:12 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <A95E2296287EAD4EB592B5DEEFCE0E9D281F28@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <A95E2296287EAD4EB592B5DEEFCE0E9D281F28@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)
Ian Pratt wrote:
I guess the main logic behind your argument is that there is no need to fully virtualize the device models, so no need to run them within a non-root VMCS.


We can't run them in the same non-root VMCS as the guest since we need
some virtual address space. [...]

You can, with a world switch using a different CR3.


The only comment I have is: for the case where the device models require the services of a backend driver, you might be paying more than what we currently pay (one domain switch) i.e. vmx domain -> mini os -> backend. But it should be faster for everything else.


The vmx_domain to mini-OS switch happens as part of the vmexit.

It's actually the vmexit + cost of upcall to the mini-os + cost of domain switch to the backend (say dom0).

Right now, it's vmexit + cost of domain switch to dom0 + cost of dom0 kernel to user mode device model.

So the difference is

cost of dom0 kernel to user - cost of frontend to backend switch

I suspect that the delta is small and not much to worry about.

Devices such as the APIC/IOAPIC/PIT etc can all be emulated without
calling out of the device model, and should work with just the same
performance as having them in Xen as we do today.

True, it's definitely a win for devices that don't require communication with the backend.

Also, some customers might want to use the split I/O model, where the VMX domain directly wants to use a raw partition on real disk. I'd rather have drivers in the OS hosting the device-models instead of going through the backend.

        -Arun

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel