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

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


  • To: "Martin J. Bligh" <mbligh@xxxxxxxxxx>, "Andi Kleen" <ak@xxxxxxx>
  • 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
  • List-id: xen-merge <xen-merge.lists.xensource.com>
  • 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


 


Rackspace

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