From c58560c6cd355720c856f843490dcefa00254aae Mon Sep 17 00:00:00 2001 From: Andrew Bower Date: Fri, 20 Sep 2024 13:46:15 +0100 Subject: [PATCH] cleanup: prep distfiles for release candidate --- CHANGELOG.md | 48 ++++++++++++++++++------------------------------ README.md | 38 +++++++++++--------------------------- RELEASE_NOTES.md | 4 ++-- 3 files changed, 31 insertions(+), 59 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ee9504c..15ca564b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/README.md b/README.md index 961c9ab9..d902c0da 100644 --- a/README.md +++ b/README.md @@ -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,8 +66,8 @@ 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 @@ -75,28 +75,12 @@ 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 diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 88aee2f3..9efe8ca6 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -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