This should be discussed at linuxptp-devel.

On Wed, May 04, 2022 at 11:39:19AM +0000, Oleg Obleukhov wrote:
> >> I implemented a quick patch 
> >> https://gist.github.com/leoleovich/5a4dff7e089bd429c5d208d9276e1683 which 
> >> can mitigate this and it works very well:
> > 
> >> Preventing unnecessary tuning of the servo for a short period of time by 
> >> using a padding technique (simply filling with previous values).
> The patch I proposed simply doesn’t pass the offset to a servo - so it 
> shouldn’t be too bad. For example with default ptp4l settings we can tolerate 
> several missed syncs in a row. But I am open for suggestions of course.

I think the default configuration of the PI servo can tolerate only
one missed update at a time. If you repeatedly drop two samples and
pass one, it will be unstable and oscillations will grow until it is
updated at a higher rate. However unlikely that would be to happen in
real world, your patch doesn't seem to prevent that.

> > That patch seems to be dropping the sample and there is a different
> > output shown in the example. Is there a newer version of the patch you
> > didn't publish?
> The code I suggested matches the output. It simply prints something like:
> skip 1/2 large offset (>20000) -248483
> When occasional spikes arise. The only difference is max_offset_locked and 
> max_offset_locked_skip should be set to 0 and currently they are at 20000  
> and 2 respectively. 

The example output posted here didn't have the SYNCHRONIZATION_FAULT
messages, so I assumed you were doing something with the servo.

-- 
Miroslav Lichvar



_______________________________________________
Linuxptp-users mailing list
Linuxptp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-users

Reply via email to