(Just few comments on some topics from this long post) On Thu, Mar 18, 2021 at 11:57:20AM +0100, Frantisek Rysanek wrote: > in a switch (than P2P), I've heard a credible opinion that in E2E > mode, a switch port needs to keep track of delay transactions passing > through (stateful style - ORLY?) and making E2E work for a single > slave is not the same as making it work for many slaves :-) etc.
I think that depends on whether the switch is a one-step clock or two-step clock. In the one-step mode it shouldn't need to track individual requests and responses. It should be stateless, but it may be more difficult to implement in the silicon. I don't know if there are any difficulties specific to the E2E vs P2P implementation. To me it seems a big issue with PTP support in switches is that there is very little information available about their performance, e.g. resolution and typical accuracy. No public benchmarks. The vendors just want all the features marked as "supported". I heard about cases where it was so bad, that it was better disabled. > TSC? Typically useable as 1PPS *input*. Having a timestamping > register (MSR?) on the inside, a neighbor to the TSC, which would > always contain a timestamp of the last exterior 1PPS edge, in the > TSC's "time domain". And maybe have another register yet, clocked the > same way as the TSC, but which would always reset at every 1PPS edge. > Should I patent this as the TSC-ng ? :-) Yes, that would be great. Some small computers like the BeagleBone Black can timestamp PPS directly without interrupts. If nothing else, at least a fast GPIO suitable for polling would be a great improvement on x86. FWIW, some onboard NICs supported by the e1000e driver can "cross-timestamp" using the Always Running Timer (ART), which should avoid the asymmetry of PCIe. I have not seen any detailed description of how it actually works. -- Miroslav Lichvar _______________________________________________ Linuxptp-devel mailing list Linuxptp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-devel