Skip to content

Commit

Permalink
cleanup: prep distfiles for release candidate
Browse files Browse the repository at this point in the history
abower-amd committed Sep 20, 2024
1 parent 162250d commit c58560c
Showing 3 changed files with 31 additions and 59 deletions.
48 changes: 18 additions & 30 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -6,22 +6,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

(c) Copyright 2012-2024 Advanced Micro Devices, Inc.

## [Unreleased]
## [3.8.0.1001] - 2024-09-30

### Added

- Allow 32-bit userspace on 64-bit kernels (when built from source). (SWPTP-46)
- Add --socket option for sfptpdctl to control multiple processes. (SWPTP-624)
- Add configurable patterns for log, state, control and stats paths. (SWPTP-649)
- Supports logging to a directory shared between hosts.
```
json_stats /nfs/log/sfptpd-stats-%H:%Cd.jsonl
```
- Or esoteric use cases requiring multiple sfptpd instances.
```
state_path /var/lib/sfptpd-%P
control_path /run/sfptpd-%P-control.sock
```
- Supports logging to a directory shared between hosts, e.g.
`json_stats /nfs/log/sfptpd-stats-%H:%Cd.jsonl`
- Or esoteric use cases requiring multiple sfptpd instances:
`state_path /var/lib/sfptpd-%P`
- Enhance LACP support. (SWPTP-738)
- Add support for dual boundary clock topology by sending DelayReq
messages over the physical interface that last received a Sync message
@@ -32,15 +26,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- Show unicast/multicast delay response flags in state file. (SWPTP-807)
- Get transmit timestamps via epoll to avoid blocking PTP thread. (SWPTP-831)
- Add configurable patterns for clock names and ids. (SWPTP-997)
- enables colons to be omitted from clock ids in filenames:
```
clock_display_fmts phc%P phc%P(%I) %C: %D
```
- e.g. avoid colons in filenames: `clock_display_fmts phc%P phc%P(%I) %C: %D`
- Ethtool queries are now conducted over netlink instead of ioctl on kernels
where this is supported. (SWPTP-1304)
- IP address of parent clock added to topology files (SWPTP-1312)
- Add option to configure state file and stats log update rates. (SWPTP-1326)
- E.g. `reporting_intervals save_state 120 stats_log 2`
- e.g. `reporting_intervals save_state 120 stats_log 2`
- Add `step_threshold` option to change the offset threshold for allowing
a step (when permitted by clock control setting). (SWPTP-1365)
- Add shared clock feed. (SWPTP-1386)
@@ -62,18 +53,15 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- Add a privileged helper to support hotplugging, connecting to the chrony
control socket and performing clock control over chrony when running as a
non-root user. (SWPTP-1479)
- Allow repeated -v arguments to increase verbosity. (SWPTP-1489)
- Allow repeated -v arguments as convenience to increase verbosity. (SWPTP-1489)

### Added for unsupported source builds only

- Allow 32-bit userspace on 64-bit kernels. (SWPTP-181)
- Add `gps` sync module to use `gpsd` for PPS time of day.
- This is a unsupported feature not compiled in by default.
- To use this feature install the appropriate development package for
gpsd/libgps, build with `make NO_GPS=` and instantiate the `gps`
sync module with information on how to access the `gpsd` daemon, e.g.:
```
[gps1]
gpsd ::1 2947
[pps]
time_of_day gps1
```
- Build with `make NO_GPS=` having installed `libgps-dev`.
- Instantiate the `gps` sync module giving connection details (e.g.
`gpsd ::1 2947` and set as time of day source.
- Add Y2038 support when built for 32-bit targets with 64-bit time enabled.
(Xilinx-CNS/sfptpd#12)

@@ -96,9 +84,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

### Fixed

- Xilinx-CNS/sfptpd#9
- Fix issue that manifests as not being able to control the system clock
on some systems, such as Raspberry Pi 5 with Debian 12.
- Issue SWPTP-1396
- Provide correct clock timestamps in real time stats corresponding to the
reported offsets rather than time of logging message.
@@ -108,6 +93,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- Issue SWPTP-1515
- Fix issue with BMC discriminator disqualifying sources when evaluated
inbetween Sync and FollowUp reception.
- Xilinx-CNS/sfptpd#9
- Fix issue that manifests as not being able to control the system clock
on some systems, such as Raspberry Pi 5 with Debian 12.

## [3.7.1.1007] - 2024-01-25

38 changes: 11 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
@@ -54,9 +54,9 @@ The user guide for supported releases is available at

The sfptpd daemon provides a system-centric time sync solution that can
be used with any network adapter and driver supporting standard Linux time
APIs. This gives advantages over other software which lacks the same degree of
support for link aggregation and which does not integrate remote and local
synchronisation in one process.
APIs. The monolithic design of sfptpd enables a holistic approach to
system time synchronisation, supporting link aggregation and integrating
remote and local clock synchronisation.

### Using non-Solarflare network adapters

@@ -66,37 +66,21 @@ Enable the use of non-Solarflare adapters with:
non_solarflare_nics on
```

By default non-Solarflare adapters are not synchronised to avoid potential
limitations with their drivers:
By default, non-Solarflare adapters are not synchronised to avoid hitting
a potential limitation with some drivers.

Sfptpd is normally configured to synchronise all available NIC clocks
automatically so that applications can obtain meaningful hardware timestamps
on all interfaces.

In the case of Solarflare NICs, the `sfc` net driver presents the same "PTP
Hardware Clock" (PHC) device (e.g. `/dev/ptp0`) for each of the physical
network ports on a single adapter. Other NICs typically present an
apparently independent PHC device for each network port.

However, these apparently independent PHC devices typically are not independent
but represent the same underlying physical clock. This arrangement has one of
two consequences:

1. When sfptpd tries to synchronise the same physical clock using
apparently but not actually independent PHC devices, duplicate corrections
occur. To mitigate this sfptpd has an option `assume_one_phc_per_nic`.
2. If all but one of the PHC devices is treated by the driver as read only
**and** the instance made writable by the net driver is not the one on the
lowest-numbered port, then with `assume_one_phc_per_nic` set to `on`, sfptpd
will attempt to discipline the clock but there will be no effect. This
situation can be mitigated by leaving `assume_one_phc_per_nic` `off` but
that will result in wasteful clock comparisons for all the PHC devices
that are effectively read only.

The current best recommendation to mitigate these limitations is to list
explicitly the network ports of the NIC clocks to be disciplined with
`clock_list`. Typically other software expects the clocks to be explicitly
listed anyway.
network ports on a single adapter. Some NICs, however, present separate and
_apparently_ independent PHC devices for each network port which actually
represent the same underlying physical clock.

When using third party NICs affected by this issue the recommended mitigation
is to list explicitly the NIC clocks to be disciplined with `clock_list`.

## Footnotes

4 changes: 2 additions & 2 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
AMD Solarflare Enhanced PTP Daemon
==================================

Version: v3.8.0.x (unreleased)
Version: v3.8.0.1001

These release notes relate to official supported binary releases of sfptpd.
Please see [the changelog](CHANGELOG.md) for a list of changes since earlier
@@ -126,7 +126,7 @@ Advanced notice of possible future changes
- Supporting new IEEE1588 specifications

Future releases may report support for PTP v2.1 on the wire by default. If
this causes difficulty with third-party equipment, specify `ptp_version 2.0`
this causes difficulty with unpatched time servers, specify `ptp_version 2.0`
in the `ptp` configuration section.

- Deprecation of remote monitor

0 comments on commit c58560c

Please sign in to comment.