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-merge

RE: [Xen-merge] FW: vmware's virtual machine interface

To: "Martin J. Bligh" <mbligh@xxxxxxxxxx>, "Andi Kleen" <ak@xxxxxxx>
Subject: RE: [Xen-merge] FW: vmware's virtual machine interface
From: "Ian Pratt" <m+Ian.Pratt@xxxxxxxxxxxx>
Date: Mon, 8 Aug 2005 23:35:31 +0100
Cc: xen-merge <xen-merge@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Mon, 08 Aug 2005 22:33:41 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-merge-request@lists.xensource.com?subject=help>
List-id: xen-merge <xen-merge.lists.xensource.com>
List-post: <mailto:xen-merge@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-merge>, <mailto:xen-merge-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-merge>, <mailto:xen-merge-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-merge-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcWcXoOb/+Iban3OSQCfqgs/vJbdZwACcJ9Q
Thread-topic: [Xen-merge] FW: vmware's virtual machine interface
 > >> [*]Having a single kernel image that works native and on a 
> hypervisor 
> >> is quite convenient from a user POV. We've looked into addressing 
> >> this problem in a different way, by building multiple kernels and 
> >> then using a tool that does a function-by-function 'union' 
> operation, 
> >> merging the duplicates and creating a re-write table that 
> can be used 
> >> to patch the kernel from native to Xen. This approach has 
> no run time 
> >> overhead, and is entirely 'mechanical' rather than having 
> to having 
> >> to do it as source level that can be both tricky and messy.
> > 
> > That sounds incredibly ugly. In particular it will make building 
> > kernels very messy, which is a bad thing.

[I wish I hadn't mentioned this at all now -- it certainly wasn't
central to the argument I ws making]

As it is, it wouldn't actually make the build process too ugly. You can
build any number of vmlinux files with whatever config options you like,
and then just pass them to a magic program that smashes them together by
doing function-by-function comparisons. For example, you could do this
with a PAE and non-PAE kernel...  
 
> Ian, did you look at the generic subarch, and see how that 
> works? Not sure if that's what you mean or not - may arrive 
> at the same end, but by an easier path?

The approach is my footnote is hypothetical, but with the experimenting
I did last year I came to the conclusion it would work. 

Sure, it could be done at source level with a high-enough abstraction,
but its not immediately obvious to me that such boot-time nastiness
couldn't just be hidden in a tool operating on the binary. 

Just looking at what changes would be required to auto-switch between
PAE and non PAE makes me think that the idea shouldn't be immediately
discounted.

Best,
Ian

> If we use function pointers, and do so at a high enough 
> abstraction level, I don't think the perf impact is too bad. 
> there's always the possiblity to rewrite some of the code on 
> the fly like the cpu code, just to shortcut those branches 
> (though with branch prediction on modern chips, it may not do 
> much). I *think* that's equivalent to what you're saying 
> above ... but takes away the scary bit about "multiple kernels" ;-)
> 
> M.
> 
> 
> _______________________________________________
> Xen-merge mailing list
> Xen-merge@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-merge
> 

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