Files
linux/include/linux
Mahesh Bandewar c259acab83 ptp/ioctl: support MONOTONIC{,_RAW} timestamps for PTP_SYS_OFFSET_EXTENDED
The ability to read the PHC (Physical Hardware Clock) alongside
multiple system clocks is currently dependent on the specific
hardware architecture. This limitation restricts the use of
PTP_SYS_OFFSET_PRECISE to certain hardware configurations.

The generic soultion which would work across all architectures
is to read the PHC along with the latency to perform PHC-read as
offered by PTP_SYS_OFFSET_EXTENDED which provides pre and post
timestamps.  However, these timestamps are currently limited
to the CLOCK_REALTIME timebase. Since CLOCK_REALTIME is affected
by NTP (or similar time synchronization services), it can
experience significant jumps forward or backward. This hinders
the precise latency measurements that PTP_SYS_OFFSET_EXTENDED
is designed to provide.

This problem could be addressed by supporting MONOTONIC_RAW
timestamps within PTP_SYS_OFFSET_EXTENDED. Unlike CLOCK_REALTIME
or CLOCK_MONOTONIC, the MONOTONIC_RAW timebase is unaffected
by NTP adjustments.

This enhancement can be implemented by utilizing one of the three
reserved words within the PTP_SYS_OFFSET_EXTENDED struct to pass
the clock-id for timestamps.  The current behavior aligns with
clock-id for CLOCK_REALTIME timebase (value of 0), ensuring
backward compatibility of the UAPI.

Signed-off-by: Mahesh Bandewar <maheshb@google.com>
Signed-off-by: Vadim Fedorenko <vadfed@meta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2024-09-08 18:40:33 +01:00
..
2024-05-27 13:39:51 +02:00
2024-07-03 19:29:59 -07:00
2024-07-08 01:51:05 -06:00
2024-06-24 18:29:20 +02:00
2024-06-11 12:57:49 -05:00
2024-08-26 09:37:23 -07:00
2024-05-27 11:08:31 +02:00
2024-08-12 22:03:27 +02:00
2024-05-19 14:36:17 -07:00
2024-07-03 19:29:52 -07:00
2024-05-27 16:50:03 +02:00
2024-07-31 13:49:48 +01:00
2024-06-24 22:24:56 -07:00
2024-07-03 19:30:23 -07:00
2024-06-05 19:19:26 -07:00
2024-07-10 12:14:54 -07:00
2024-08-11 17:04:29 +01:00
2024-07-31 09:57:18 -07:00
2024-08-15 22:16:14 -07:00
2024-07-08 13:47:27 -04:00
2024-06-24 22:25:02 -07:00
2024-06-28 09:52:05 +02:00
2024-07-10 17:52:47 +02:00
2024-07-02 18:59:33 -07:00
2024-07-10 07:59:03 +02:00
2024-08-15 22:16:14 -07:00
2024-06-24 18:16:44 +01:00