Re: re-writing on powerpc

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

 



On Tue, 14 Dec 2010 10:40:57 +0200
Avi Kivity <avi@xxxxxxxxxx> wrote:

> On 12/13/2010 09:03 PM, Scott Wood wrote:
> > >
> > >  The interface is a lot simpler.  The guest decides what to patch and
> > >  where to jump.  A "please patch me" flag needs a ton of documentation on
> > >  what patch means and what the constraints on the guest environment are.
> > >
> >
> > The constraints need to be documented, but I think "a ton" is a bit of
> > an exaggeration
> 
> I guess.  It's correct for x86 (which has four processor modes, and you 
> need to consider segmentation, etc.), perhaps not so much for powerpc.

Yeah, x86 seems like it could be a mess.  We actually already wrote up
these constraints for PowerPC for an upcoming version of ePAPR.

> >   -- and having the guest do the patching itself means
> > that the structure of the shared page must become stable ABI.
> 
> It has to be a stable ABI in any case so you can live migrate.  Unless 
> you want the hypervisor to unpatch or something.

Well, there's a difference between "stable among a set of
implementations within which you can live upgrade" and "stable among
all implementations that can run a guest without further
modification".  I'm thinking of things like completely different
hypervisors (not just KVM) being able to run the same guest image with
paravirt, newly added paravirts working on a guest that doesn't need
updating beyond the initial change to permit rewriting, etc.  And if
there is a mistake made that needs to be incompatibly corrected,
breaking live migration seems less bad than requiring guest code
changes.

I think there are good arguments for both ways -- I don't see any
overwhelming reason to change from what KVM is already doing.

-Scott

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux