On Wed, Jan 08, 2014 at 08:17:51AM +0100, Richard Cochran wrote:

Okay, found it.

> Here is a bit of hacked debuggin code that shows the problem. Using
> set_tmo_log hides the bug, and set_tmo_random exposes it.
> 
> static int port_set_announce_tmo(struct port *p)
> {
> pr_debug("port_set_announce_tmo %hu announceReceiptTimeout=%d",
>        portnum(p), p->announceReceiptTimeout);

The announceReceiptTimeout is zero for the UDS port.

> #if 1
>       return set_tmo_random(p->fda.fd[FD_ANNOUNCE_TIMER],
>                      p->announceReceiptTimeout, 1, p->logAnnounceInterval);

The new code sets a timer going...

> #else
>       return set_tmo_log(p->fda.fd[FD_ANNOUNCE_TIMER],
>                      p->announceReceiptTimeout, p->logAnnounceInterval);

But the old code disables the timer by setting it to zero. That was on
purpose, but admittedly it was a bit opaque.

> #endif
> }

I am not sure yet how to fix this, but I'll try to come up with
something this evening.

Thanks,
Richard

------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Linuxptp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel

Reply via email to