• Alessandro Rubini's avatar
    wr-servo: make re-track much faster · 63cb8ae9
    Alessandro Rubini authored
    There is no need to go to 0 phase at servo init. It is already 0
    at the beginning of the world, but on re-track it can be the same
    as it was.
    
    With this change, if we loose track due to packet loss and timeout
    (thanks to a few commits ago), we recover in 1..4 seconds as opposed
    to 5..9 without this commit.
    
    Tested with "fault drop 0 1000" and later "fault drop 0 0", and
    a syslog server:
    
       Jan  1 00:00:10 192.168.16.229 (22:33:44:55:66:77) Node up since 10 seconds
       Mar 14 15:48:55 192.168.16.229 Tracking after 7.178 s
       Mar 14 15:49:07 192.168.16.229 Lost track
       Mar 14 15:49:11 192.168.16.229 2-th re-rtrack after 4.171 s
       Mar 14 15:49:30 192.168.16.229 Lost track
       Mar 14 15:49:32 192.168.16.229 3-th re-rtrack after 2.485 s
       Mar 14 15:49:49 192.168.16.229 Lost track
       Mar 14 15:49:51 192.168.16.229 4-th re-rtrack after 2.559 s
       Mar 14 15:50:13 192.168.16.229 Lost track
       Mar 14 15:50:16 192.168.16.229 5-th re-rtrack after 3.171 s
       Mar 14 15:50:31 192.168.16.229 Lost track
       Mar 14 15:50:32 192.168.16.229 6-th re-rtrack after 1.589 s
    
    With the original commit for this, Adam found that by unplugging
    and re-plugging the fiber our setpoint is always increasing, up to big
    values. I checked, and the softpll is always using the module. I brought
    the phase value up to hundreds of nanos both positive and negative, without
    any issues.  So this version of the commit makes a modulus of the set
    point, to avoid it getting too big and scare a user watching the logs.
    Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
    63cb8ae9
Name
Last commit
Last update
arch-bare-i386 Loading commit data...
arch-bare-x86-64 Loading commit data...
arch-sim Loading commit data...
arch-unix Loading commit data...
arch-wrpc Loading commit data...
arch-wrs Loading commit data...
configs Loading commit data...
doc Loading commit data...
etc Loading commit data...
include/ppsi Loading commit data...
lib Loading commit data...
lib-bare Loading commit data...
pp_printf Loading commit data...
proto-ext-whiterabbit Loading commit data...
proto-standard Loading commit data...
scripts Loading commit data...
time-bare Loading commit data...
time-sim Loading commit data...
time-unix Loading commit data...
time-wrpc Loading commit data...
time-wrs Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
COPYING.LIB Loading commit data...
Kconfig Loading commit data...
MAKEALL Loading commit data...
Makefile Loading commit data...
Makefile.kconfig Loading commit data...
diag.c Loading commit data...
fsm.c Loading commit data...
msgtype.c Loading commit data...
timeout.c Loading commit data...