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
Linuxptp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-users

Reply via email to