Re: [patch 00/24] timekeeping/ptp: Expand snapshot functionality
From: Jacob Keller
Date: Tue May 26 2026 - 18:02:55 EST
On 5/26/2026 10:13 AM, Thomas Gleixner wrote:
> Sorry for the large CC list, but changing the inner workings touches
> unfortunately a lot of places in one go.
>
> PTP wants to grow new snapshot functionality, which provides not only the
> captured CLOCK* values, but also the underlying clocksource counter value.
>
> https://lore.kernel.org/20260515164033.6403-1-akiyano@xxxxxxxxxx
>
> There was quite some discussion in seemingly related threads how to capture
> these values and how to provide core infrastructure so that driver writers
> have something to work with
>
> https://lore.kernel.org/20260514225842.110706-1-hramamurthy@xxxxxxxxxx
> https://lore.kernel.org/20260520135207.37826-1-dwmw2@xxxxxxxxxxxxx
>
> This series implements the timekeeping related mechanisms to:
>
> 1) Capture CLOCK values along with the clocksource counter value for
> non-hardware based sampling
>
> 2) Expanding the hardware cross time stamp mechanism to hand back the
> clocksource counter value, which was captured by the device, along
> with the related CLOCK values
>
> 3) Adding AUX clock support to the hardware cross timestamping core
>
Overall the series looks good to me. I made some comments while
reviewing but nothing major and I think mostly it was on interim code
that is removed by the end of the series.
Reviewed-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
> It's based on v7.1-rc2 and also available from git:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git timekeeping-ptp-extend-v1
>
> Thanks to David for rebasing his PTP/timekeeping work on top and providing
> feedback, fixes and testing.
>
> Thanks,
>
> tglx
> ---
> arch/arm64/kvm/hyp_trace.c | 8
> arch/arm64/kvm/hypercalls.c | 6
> drivers/net/dsa/sja1105/sja1105_main.c | 8
> drivers/net/ethernet/intel/ice/ice_ptp.c | 5
> drivers/net/ethernet/intel/igc/igc.h | 1
> drivers/net/ethernet/intel/igc/igc_ptp.c | 4
> drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c | 4
> drivers/net/wireless/intel/iwlwifi/mld/ptp.c | 5
> drivers/net/wireless/intel/iwlwifi/mvm/ptp.c | 7
> drivers/pps/generators/pps_gen-dummy.c | 6
> drivers/pps/generators/pps_gen_tio.c | 6
> drivers/ptp/ptp_chardev.c | 18 +
> drivers/ptp/ptp_ocp.c | 11 -
> drivers/ptp/ptp_vmclock.c | 25 --
> drivers/virtio/virtio_rtc_ptp.c | 2
> include/linux/pps_kernel.h | 8
> include/linux/ptp_clock_kernel.h | 15 -
> include/linux/timekeeping.h | 54 ++---
> kernel/time/timekeeping.c | 211 ++++++++++++--------
> sound/hda/common/controller.c | 4
> 20 files changed, 236 insertions(+), 172 deletions(-)