Hi,
i have an application which polls ptp clock and tries to execute some
activitites at specific times.
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.
I have stripped my problem down to the following code, which fails if
between two inner loops the ptp time changes by more than a second:
Is this expected?
kind regards
Frank
Using linuxptp-1.6 and kernel 3.16
$ phc2sys -v
1.6-00005-g8a79480
$ uname -v
#1 SMP Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17)
#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <assert.h>
int main(int argc, char *argv[])
{
static const int CLOCKFD = 3;
int fd = open("/dev/ptp0", O_RDONLY);
clockid_t clkid = ((~(clockid_t)(fd) << 3) | CLOCKFD);
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);
}
}
------------------------------------------------------------------------------
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