On Fri, Feb 12, 2016 at 12:09:25PM +0100, frank wrote:
> During printf debugging I have seen large jumps in the timespecs
> returned by clock_gettime().
>
> Using a Intel i5 with a "Intel Corporation Ethernet Connection I217-V
> (rev 05)"
> network card around 100-200 calls to clock_gettime() in a loop are enough.
This uses the e1000e driver, right? That driver has a work around for
a HW bug when reading the time, but it is restricted to 82574/82583
devices:
drivers/net/ethernet/intel/e1000e/netdev.c:e1000e_cyclecounter_read():
/* errata for 82574/82583 possible bad bits read from SYSTIMH/L
* check to see that the time is incrementing at a reasonable
* rate and is a multiple of incvalue
*/
Maybe the i217 is also affected? You could try enabling this work
around for i217 as well.
> struct timespec oldts;
> struct timespec newts;
> clock_gettime(clkid, &oldts);
>
> for(;;)
> {
> clock_gettime(clkid, &newts);
> time_t delta = newts.tv_sec - oldts.tv_sec;
> oldts = newts;
> assert(delta >= 0);
> assert(delta <= 1);
Here it would help to see the values of oldts and newts when the
assertion fails.
> }
> }
This sounds like the same old hw bug. I would ask intel and/or on the
e1000 list.
Thanks,
Richard
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Linuxptp-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxptp-users