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

Re: [Xen-devel] [PATCH 0 of 5] PV on HVM Xen



On Tue, 16 Mar 2010, Jeremy Fitzhardinge wrote:
> On 03/16/2010 11:06 AM, Stefano Stabellini wrote:
> > the following is the interesting bit of the pvclock interface:
> >
> > static __always_inline
> > u64 pvclock_get_nsec_offset(const struct pvclock_vcpu_time_info *src)
> > {
> >     u64 delta = __native_read_tsc() - src->tsc_timestamp;
> >     return scale_delta(delta, src->tsc_to_system_mul, src->tsc_shift);
> > }
> >
> >
> > xen refreshes the values in pvclock_vcpu_time_info every EPOCH (1s),
> > therefore if the value returned by pvclock_get_nsec_offset is greater
> > than EPOCH than the patch is not present in xen.
> >
> > This is a simple way of detecting if the offset is taken into account or
> > not and it works because the offset is the value returned by rdtsc in
> > the host when the VM was created and we can be sure it corresponds to
> > more than 1 sec.
> >    
> 
> That seems pretty fragile.  I don't think EPOCH is part of the ABI, and 
> I don't think we should be relying on it.
> 

EPOCH is certainly not part of the ABI :)
That said the difference between a correct delta and a wrong delta is so
big that we cannot really be mistaken.

In any case I wouldn't mind a feature flag just to stay on the safe
side, so I'll leave this decision to you and Keir (that this week is on
vacation).

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


 


Rackspace

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