Re: [patch 3/3] PTP: add kvm PTP driver

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

 



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



[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