Re: [PATCH 02/11] KVM: PPC: Book3S HV: Implement timebase offset for guests

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

 



On 05.09.2013, at 22:17, Paul Mackerras wrote:

> This allows guests to have a different timebase origin from the host.
> This is needed for migration, where a guest can migrate from one host
> to another and the two hosts might have a different timebase origin.
> However, the timebase seen by the guest must not go backwards, and
> should go forwards only by a small amount corresponding to the time
> taken for the migration.
> 
> Therefore this provides a new per-vcpu value accessed via the one_reg
> interface using the new KVM_REG_PPC_TB_OFFSET identifier.  This value
> defaults to 0 and is not modified by KVM.  On entering the guest, this
> value is added onto the timebase, and on exiting the guest, it is
> subtracted from the timebase.
> 
> This is only supported for recent POWER hardware which has the TBU40
> (timebase upper 40 bits) register.  Writing to the TBU40 register only
> alters the upper 40 bits of the timebase, leaving the lower 24 bits
> unchanged.  This provides a way to modify the timebase for guest
> migration without disturbing the synchronization of the timebase
> registers across CPU cores.  The kernel rounds up the value given
> to a multiple of 2^24.
> 
> Timebase values stored in KVM structures (struct kvm_vcpu, struct
> kvmppc_vcore, etc.) are stored as host timebase values.  The timebase
> values in the dispatch trace log need to be guest timebase values,
> however, since that is read directly by the guest.  This moves the
> setting of vcpu->arch.dec_expires on guest exit to a point after we
> have restored the host timebase so that vcpu->arch.dec_expires is a
> host timebase value.
> 
> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>

Thanks, applied to kvm-ppc-queue.


Alex

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




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux