- 04 Nov, 2016 10 commits
-
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This was my fault. The initial time jump was based on "T4 + MPD". This on the assumption that T4 is sharper then time->get(). At least this is true for White Rabbit systems, where time->get() was not even correct when I started the project. As a result, the initial jump for a p2p slave was always wrong, because it referred to an old timestamp. We ended up a few hundreds ms off the master, to the start a long steering. We now add ofm to the current time, and the result is good in both case. WR systems have their own servo anyways, but even a slave to non-wr masters should behave well, because time->set now works. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The idea that somebody wants to steer time for >1s offsets is perverse. Let's simplify (if any, we may want to jump for <1s offsets that are bigger than a few milliseconds). 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
The reshaping for pdelay broke the idea that if the offset is more than one second we don't run the PI at all (to avoid effects of the I part after the jump). This restores the early-exit from the servo when a jump in time happens. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Also, two functions that were needlessly public are now static. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This commit assumes that "transportSpefic" in header byte 0 and "reserved" in header byte 1 are always 0. Thus, it removes unneeded bitmasking and while at it uses names for message types. It also removes redundant assignments and adds a few missing ones. The commit simplifies all the "pack" functions; it makes them consistent by setting all header fields in transmit order, and marking unclean spots (i.e. correctionField assignment). Buglets fixed in the process; - correctionField was not cleared in follow_up - pdelay_resp_f_up was using the wrong length name - pdelay_resp_f_up was not setting controlField and logMessageInterval - delay_req was not clearing flags - pdelay_req was not blanking the trailing bytes - pdelay_resp was not setting controlField and logMessageInterval Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 03 Nov, 2016 3 commits
-
-
Adam Wujek authored
This commit is required to uplift a wr-switch kernel version Since the kernel commit 850a545bd net: validate HWTSTAMP ioctl parameters Follows: v3.1-rc9 Precedes: v3.2-rc1 SIOCSHWTSTAMP ioctl check whether field "flags" of struct hwtstamp_config is empty, otherwise ioctl returns -EINVAL Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
Update sfp_lib.h and hal_shmem.h to support diagnostics (DOM) in SFPs. Changes not affecting PPSI code. Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
There were many changes to the ppsi structures in few previous commits. Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
- 25 Oct, 2016 7 commits
-
-
Alessandro Rubini authored
bug introduced in 4126868c, we were incrementing the delay-request sequence number instead of ours. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The function has gone big over time, it's better not inline any more. The change saves 230 byte in wrpc builds. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
While it may make sense to setup constant delay somewhere (for WR we define them, for instance), the legacy implementation was unused and wrong. Unused because nobody sets it (even if we could do it in the config file). Wrong because inbound is never used, and both are global and not per-port. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Now this is the behaviour for the choice: arch-bare-* if you select P2P, it's built and selected. Default is E2E_ONLY. arch-sim arch-unix arch-wrs The P2P is built by default configuration, and the mechanism is selected at configuration time. Default is E2E. If you choose E2E_ONLY and configure pdelay, it will ignore the config. (Suboptimal but I'm lazy: do *not* use E2E_ONLY for those archs. arch-wrpc The default is e2e until changed at run time. 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>
-
- 30 Sep, 2016 4 commits
-
-
Adam Wujek authored
Uplift shmem from wr-switch-sw repo. Fix previous uplift of shmem and improve debug printout. Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
Commit based on the commit from wrs-switch-sw described below. userspace/libwr: printout more details when wrs_shm_write is called It might be usefull to know whether caller wanted to lock or unlock the shmem and which shmem. Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
Commit based on the commit from wrs-switch-sw described below. Apply changes to the arch-wrs/wrs-startup.c to follow declaration change of wrs_shm_alloc. userspace/libwr: in shmem, use pointers to structs intead of void pointers In shared memory functions take as parameters pinters to structures instead of void pointers. By this compiler will warn when wrong type of pointer is passed. For example when pointer to the data in shmem is passed instead of pointer to the header. Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
Adam Wujek authored
The commit: 15076cb6 arch-wrs: improve locking of shmem didn't fully apply the patch from the wr-switch repo. This commit apply changes to arch-wrs/shmem.c that were missed Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
-
- 20 Sep, 2016 16 commits
-
-
Alessandro Rubini authored
This shrinks p2p builds by 100 bytes, but increases by 100 bytes the wrpc defconfig (the one withouth P2P code). Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This saves 50 bytes in wrpc-sw (and more in x86 builds) Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Here in ppsi, ./MAKEALL wrpc_defconfig wrpc_pdelay_defconfig shows a very small difference, but most pdelay code is then discarded by the wrpc-sw link time, due to --gc-sections. This is the result: laptopo% ./MAKEALL spec_defconfig spec_pdelay_defconfig ##### Building with 'spec_defconfig' /opt/lm32-gcc-4.5.3/bin/lm32-elf-ar: creating libsdbfs.a text data bss dec hex filename 87688 3492 6352 97532 17cfc wrc.elf ##### Building with 'spec_pdelay_defconfig' /opt/lm32-gcc-4.5.3/bin/lm32-elf-ar: creating libsdbfs.a text data bss dec hex filename 93140 3492 6360 102992 19250 wrc.elf What is missing now is the run-time choice between e2e and p2p. Later.... Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
There is a size problem in wrpc-sw, when built with SNMP inside, so some users, notably CERN, want to avoid the pdelay code (allegedly 7kB in the binary). Users who need pdelay don't actually run SNMP, so they don't have the size problem. This new setup allows a wrpc-sw without pdelay-related code. Wrpc with both mechanisms built in will be run-time configurable. the wrs and unix configurations for peer delay are removed, because for those architecture the choice is going to be performed at run time, in the configuration file. Please note that this commit is config-only, no code yet is there. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Using a data-driven approach to manage incoming frames is definitely cleaner and clearer. It even has a (very minor) size reduction for wrpc. I plan to use this approach overall, as time permits. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This won't work, because packets must be sent to two different IP multicast addresses. This is not supported. The code being disabled had the effect of setting the pdelay destination for all frames, even for E2E runs. This fixes E2E UDP operation, leaving P2P broken as it was. 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>
-
Davide Ciminaghi authored
If no follow-up is to be received, we trigger pp_servo_got_presp() on reception of peer delay response.
-
Davide Ciminaghi authored
In this case we also possibly have switch to port state to PASSIVE.
-
Davide Ciminaghi authored
A function should only do what it promises, so msg_unpack_header should just unpack. This move also gets also us ready for fixing compliance to 9.5.2.3.
-
Davide Ciminaghi authored
This gets us ready for leaving a state as a consequence of filtered out messages (9.5.2.3: discard announce AND switch state to PASSIVE).
-
Davide Ciminaghi authored
-
Davide Ciminaghi authored
-
Davide Ciminaghi authored
-