Subject: Re: [PATCH] Add PTP cross-timestamp to the PTP driver interface

From: "Keller, Jacob E" <[email-masked]>
Date: Fri, 26 Jun 2015 15:24:25 +0000

On Fri, 2015-06-26 at 08:55 +0200, Richard Cochran wrote:
> Chris,
> 
> Basically this patch looks okay to me.  Could you please add LKML,
> John Stultz and tglx (the time guys) onto CC?  I would like to get
> their Acks or at least let them have a chance to review it.
> 
> On Thu, Jun 25, 2015 at 04:42:56PM -0700, Christopher Hall wrote:
> > This patch allows system and device time ("cross-timestamp") to be 
> > performed 
> > by the driver. Currently, the timestamping is performed in the 
> > PTP_SYS_OFFSET 
> > ioctl.  It reads gettimeofday() and the gettime64() callback 
> > provided by the 
> > driver. The cross-timestamp is best effort ignoring the latency 
> > between the 
> > capture of system time (getnstimeofday()) and the device time 
> > (driver callback).
> 
> You can make the motivation more clear by mentioning how the newer
> PCIe spec foresees "perfect" timestamps.  If I didn't already know 
> the
> background, I would wonder who would ever want "best effort" single
> cross timestamps.
> 

FYI, I read "best effort" as a comment on how it's implemented today,
not what the implementation could provide.

> > Additionally, the callback, getsynctime64(), will only be called 
> > when 
> > n_samples == 1 because the driver returns only 1 cross-timestamp 
> > where 
> > multiple samples cannot be chained together.
> 
> There should be a way for user space to find out whether a particular
> device offers the cross timestamp capability.  There are reserved
> fields in 'struct ptp_clock_caps' that could be used.
> 

Yes, I agree. Otherwise we'd have to use only one sample in ptp4l in
order to benefit, but we'd be unable to tell it was worth it.

Regards,
Jake

> Thanks,
> Richard
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to [email-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html