On Tue, 2007-07-10 at 22:08 +0800, Dong, Eddie wrote:
> > I don't think live migration is particularly difficult.  You
> > need a APIs
> > to read and write the PIC+LAPIC states, and you write the
> > state into the
> 
> This is partily true party not. 

I agree with Avi here.  The system is already set up to understand that
there are userspace and kernel components that need to save state for a
migration.  Its only a matter of adding any new elements to the set.

> Like what did in Xen, a live migration
> in kernel side need to consider not only device state, but also cpu
> state. 

Right, and this is already true in KVM as well.  

> Especially when live migration happens when a VCPU get valid
> IDT_Vectoring, we need to save all various cpu states,  (What current
> code did to "push back" an vector can't service us with apic in kernel),
> and we have NMI state to save too.

I had already solved these types of issues neatly in the lapic branch,
so perhaps you can model a solution from that (at least in spirit).  For
instance, the irq.deferred source has the IDT_Vectoring state,
irq.pending has the vcpu interrupt state (NMI, EXTINT, etc),
kvm->isa_int has the PIC state, and vcpu->apic has the lapic state, etc.
I never got to adding the live-migration support, but if I had I would
have added elements to the data set for these components (vcpu->irq,
vcpu->apic, kvm->isa_irq) in addition to whats already saved (most of
the rest of the vcpu state).




-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to