On Mon, Sep 27, 2010 at 10:14:23AM -0600, M. Warner Losh wrote: > > This is a common error that I've seen repeated in this thread. The > only reason that it has historically been important is because when > you are doing timestamping in software based on an interrupt, that > stuff does matter.
Yes, thanks for your helpful explanation. To further illustrate how small the effect of running the servo in user space is, consider the following. It is true that delays and jitter in the time to process the received packet negatively affect the clock servo loop. However, the effect in our case will be quite small. John Eidson's book [1] presents a rigorous servo model that includes an analysis of the delay from the time the samples (timestamps) are taken until the corrective action is performed by the PTP software. For PTP, the sample time is at the sender (the remote host, the master clock). The master sends *two* packets, where the second one (the so called follow-up packet) contains the hardware time stamp of the first one. So, the computational delay includes the time spent by the sender in its PTP stack preparing the second packet, the time the packet spends in transit, and the time in the receiver's PTP stack and servo. According to Eidson's analysis, a delay of up to 10 milliseconds would be acceptable, even with a sample rate of 10 Hz. Therefore, saving a few dozen microseconds by placing the servo (and PTP stack) into the kernel is not worth the effort. Richard [1] title = {Measurement, control, and communication using IEEE 1588}, author = {J. C. Eidson}, year = 2006, publisher = {Springer-Verlag}, _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev