- 12 Jun, 2017 1 commit
-
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 06 Apr, 2017 2 commits
-
-
Alessandro Rubini authored
Dropping on tx is normal behaviour under test. state-listening is still entering faulty (thus waiting 4 seconds before restarting) if tx fails. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
It was a hack of mine, I'd better call it by name. We must spit no errors when injecting faults. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 05 Apr, 2017 9 commits
-
-
Adam Wujek authored
Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Alessandro Rubini authored
If we stopped sending to the master or the peer (for traffic or whatever; in my case with "fault drop"), we wouldn't notice the problem. This looks like SYNCHRONIZATION_FAULT (9.2.6.12), so this reuses the almost-unused TO_FAULTY, renaming it to a more generic TO_FAULT. 9.2.6.12 says we should reach uncalibrated, but since uncalibrated doesn't exits (it is never entered, it's dead and untested code at this point), I handle the problem just like the timeout receiving announce messages. For wr, I reset the servo, so the problem can be seen. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
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 <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This branch is a singe commit which is used in wr-switch-sw, where ppsi is a submodule. Let's merge it here to avoid loosing the hash.
-
- 29 Mar, 2017 1 commit
-
-
Adam Wujek authored
When two masters are connected to the same link one of them tries to enter a state pre-master. However, this state is not compiled in the ppsi, so one node stuck there forever. It is necessary to restart a node or re-establish a link. BUG introduced by a PPSI's commit: 2996dd7b compliance, 9.2.6.10: properly switch to MASTER or PRE_MASTER Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
- 20 Mar, 2017 1 commit
-
-
Alessandro Rubini authored
It was by me fore me, and I'm not using it. Simplify. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 14 Mar, 2017 1 commit
-
-
Adam Wujek authored
Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
- 08 Mar, 2017 1 commit
-
-
Adam Wujek authored
When two masters are connected to the same link one of them tries to enter a state pre-master. However, this state is not compiled in the ppsi, so one node stuck there forever. It is necessary to restart a node or re-establish a link. BUG introduced by a PPSI's commit: 2996dd7b compliance, 9.2.6.10: properly switch to MASTER or PRE_MASTER Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
- 06 Mar, 2017 1 commit
-
-
Adam Wujek authored
Add casting for delay_ms_fix calculations, otherwise ((s->picos_mu - big_delta_fix) * s->fiber_fix_alpha) is shifted as unsigned. Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
- 05 Mar, 2017 1 commit
-
-
Alessandro Rubini authored
If meanPathDelay is calculated negative at the first iteration, we must zero it immediately, or this will loop forever: while (mpd_fltr->y >> (63 - s)) --s; The bug only appears with e2e mechanism, where t3 happens long after t2, if the slave clock when ppsi starts is running much slower than the master. Before changing data structures we used abs() in that loop (which was suboptimal), and I made a mistake in converting it in a check before the loop itlsef. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 03 Mar, 2017 7 commits
-
-
Adam Wujek authored
Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
Increment due to cField changes Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Alessandro Rubini authored
There is still some factorization to make, and other irrelevant size-related things, but I'd better wait a little and get confident this stuff is solid. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
I got wrong several times with this. Time to fix. The correctionField is part of the timestamp, so it's better dealt with when the timestamp is recovered. NOTE: correctionfields in the "response" direction should be subtracted. We always added isntead, and we keep addition for compatibility. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 01 Mar, 2017 6 commits
-
-
Alessandro Rubini authored
Commit cc014e83 centralized the checks, but this was lost Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
We are not yet at a full 64-bit clean implementation. Actually, printing secs as unsigned 32 bits will survive 2038, but pp_printf with the default XINT implementation doesn't support unsigned. And XINT is still kept because it's smaller, important issue on our nodes. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 28 Feb, 2017 4 commits
-
-
Adam Wujek authored
Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
CONFIG_HAS_P2P is always defined as 0 or 1 revert 6de6467f Use #if CONFIG_HAS_P2P == 1 instead Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
- 27 Feb, 2017 5 commits
-
-
Alessandro Rubini authored
This tool can be used to force overflows of the input fifo. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Currently it only exports the rxdrop/txdrop feature. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Avoid this for dropped frames: diag-frames-1-wr1: RECV -2 bytes at 88.000000112 (type 8, follow_up) diag-frames-1-wr1: RECV -2 bytes at 88.000000112 (type 8, follow_up) diag-frames-1-wr1: RECV -2 bytes at 109520.000000088 (type 8, follow_up) Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
See gcc info pages: "Macros with a Variable Number of Arguments." The ISO-C stadanrd doesn't allow varargs macros to get zero or more arguments. So this fixes the problem using the gcc extension. A standard-compliant alternative would be to have "fmt" included in the variadic part, like this: #define assert(cond, ...) \ if (CONFIG_HAS_ASSERT && !(cond)) \ __assert(__func__, __LINE__, 1 /* forever */, __VA_ARGS__) But the reader wouldn't now it's a fmt+args. Signed-off-by: Alessandro Rubini <rubini@gnudd.com> Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
For wrpc-sw, this depends on a similar commit in wrpc-sw, because arch-wrpc relies on that implementation (to avoid building two of them). Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-