On Wed, Jan 18, 2017 at 04:45:07PM +0100, Paolo Bonzini wrote: > > > On 18/01/2017 15:50, Marcelo Tosatti wrote: > >> Interesting idea! For this to work, KVM needs to implement > >> getcrosstimestamp and ptp_chardev.c can then add an alternative > >> implementation of PTP_SYS_OFFSET, based on precise cross timestamps. > >> > >> Something like > >> > >> for (i = 0; i <= sysoff->n_samples; i++) { > >> // ... call getcrosststamp ... > >> sysns = ktime_to_ns(xtstamp.sys_realtime); > >> if (i > 0) { > >> devns = ktime_to_ns(xtstamp.device); > >> devns -= (sysns - prev_sysns) / 2; > >> devts = ns_to_timespec(devns); > >> pct->sec = devts.tv_sec; > >> pct->nsec = devts.tv_nsec; > >> pct++; > >> } > >> systs = ns_to_timespec(sysns); > >> pct->sec = ts.tv_sec; > >> pct->nsec = ts.tv_nsec; > >> pct++; > >> prev_sysns = sysns; > >> } > >> > >> Marcelo, can you give it a try? > > > > Can convert fine, but problem is the simultaneous read > > of host and guest clocks. > > Could the TSC from the hypercall be applied to kvmclock to do this? My > understanding is that get_device_system_crosststamp (which is used in > the sole in-tree implementation of getcrosststamp) already contains all > the logic to do that. > > Paolo Yeah feed that TSC to pvclock_clocksource_read. Cool will take a look at that function thanks. -- 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