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 -- 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