[patch 00/24] timekeeping/ptp: Expand snapshot functionality

Thomas Gleixner posted 24 patches 1 week, 6 days ago
There is a newer version of this series
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(-)
[patch 00/24] timekeeping/ptp: Expand snapshot functionality
Posted by Thomas Gleixner 1 week, 6 days ago
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@amazon.com

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@google.com
   https://lore.kernel.org/20260520135207.37826-1-dwmw2@infradead.org

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

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(-)
Re: [patch 00/24] timekeeping/ptp: Expand snapshot functionality
Posted by Jacob Keller 1 week, 5 days ago
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@amazon.com
> 
> 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@google.com
>    https://lore.kernel.org/20260520135207.37826-1-dwmw2@infradead.org
> 
> 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@intel.com>

> 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(-)
Re: [PATCH 0/24] timekeeping/ptp: Expand snapshot functionality
Posted by Arthur Kiyanovski 1 week, 5 days ago
Tested with a locally rebased version of my PTP clock attributes series [1]
on top — verified ENA PHC and ptp_vmclock attrs ioctls on x86_64.

[1] https://lore.kernel.org/netdev/20260515164033.6403-1-akiyano@amazon.com/

Tested-by: Arthur Kiyanovski <akiyano@amazon.com>