* [PATCH iwl-next] ice: add rx timestamp tracepoint for debugging
@ 2026-05-11 7:36 Przemyslaw Korba
2026-05-11 9:43 ` Loktionov, Aleksandr
0 siblings, 1 reply; 2+ messages in thread
From: Przemyslaw Korba @ 2026-05-11 7:36 UTC (permalink / raw)
To: intel-wired-lan
Cc: netdev, anthony.l.nguyen, przemyslaw.kitszel, aleksandr.loktionov,
arkadiusz.kubalewski, Przemyslaw Korba
Add ice_rx_hwtstamp trace event to help debug PTP rx timestamp issues.
The trace captures cached_time, ts_high, and the extended ts_ns value in
ice_ptp_get_rx_hwts().
Enable with:
echo 1 > /sys/kernel/debug/tracing/events/ice/ice_rx_hwtstamp/enable
cat /sys/kernel/debug/tracing/trace_pipe
Signed-off-by: Przemyslaw Korba <przemyslaw.korba@intel.com>
---
drivers/net/ethernet/intel/ice/ice_ptp.c | 2 ++
drivers/net/ethernet/intel/ice/ice_trace.h | 18 ++++++++++++++++++
2 files changed, 20 insertions(+)
diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c
index 691f05c62d4e..07e621813ff5 100644
--- a/drivers/net/ethernet/intel/ice/ice_ptp.c
+++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
@@ -2333,6 +2333,8 @@ u64 ice_ptp_get_rx_hwts(const union ice_32b_rx_flex_desc *rx_desc,
ts_high = le32_to_cpu(rx_desc->wb.flex_ts.ts_high);
ts_ns = ice_ptp_extend_32b_ts(cached_time, ts_high);
+ ice_trace(rx_hwtstamp, cached_time, ts_high, ts_ns);
+
return ts_ns;
}
diff --git a/drivers/net/ethernet/intel/ice/ice_trace.h b/drivers/net/ethernet/intel/ice/ice_trace.h
index 4f35ef8d6b29..3cb8c6ea03cf 100644
--- a/drivers/net/ethernet/intel/ice/ice_trace.h
+++ b/drivers/net/ethernet/intel/ice/ice_trace.h
@@ -241,6 +241,24 @@ DEFINE_TX_TSTAMP_OP_EVENT(ice_tx_tstamp_fw_req);
DEFINE_TX_TSTAMP_OP_EVENT(ice_tx_tstamp_fw_done);
DEFINE_TX_TSTAMP_OP_EVENT(ice_tx_tstamp_complete);
+/* Trace event for Rx timestamp */
+TRACE_EVENT(ice_rx_hwtstamp,
+ TP_PROTO(u64 cached_time, u32 ts_high, u64 ts_ns),
+
+ TP_ARGS(cached_time, ts_high, ts_ns),
+
+ TP_STRUCT__entry(__field(u64, cached_time)
+ __field(u32, ts_high)
+ __field(u64, ts_ns)),
+
+ TP_fast_assign(__entry->cached_time = cached_time;
+ __entry->ts_high = ts_high;
+ __entry->ts_ns = ts_ns;),
+
+ TP_printk("cached_time=%llu ts_high=%u ts_ns=%llu",
+ __entry->cached_time, __entry->ts_high, __entry->ts_ns)
+);
+
DECLARE_EVENT_CLASS(ice_esw_br_fdb_template,
TP_PROTO(struct ice_esw_br_fdb_entry *fdb),
TP_ARGS(fdb),
base-commit: 5c0d2ac5900d689d422a31cd45073175150c0a39
--
2.43.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* RE: [PATCH iwl-next] ice: add rx timestamp tracepoint for debugging
2026-05-11 7:36 [PATCH iwl-next] ice: add rx timestamp tracepoint for debugging Przemyslaw Korba
@ 2026-05-11 9:43 ` Loktionov, Aleksandr
0 siblings, 0 replies; 2+ messages in thread
From: Loktionov, Aleksandr @ 2026-05-11 9:43 UTC (permalink / raw)
To: Korba, Przemyslaw, intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org, Nguyen, Anthony L, Kitszel, Przemyslaw,
Kubalewski, Arkadiusz
> -----Original Message-----
> From: Korba, Przemyslaw <przemyslaw.korba@intel.com>
> Sent: Monday, May 11, 2026 9:37 AM
> To: intel-wired-lan@lists.osuosl.org
> Cc: netdev@vger.kernel.org; Nguyen, Anthony L
> <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@intel.com>; Loktionov, Aleksandr
> <aleksandr.loktionov@intel.com>; Kubalewski, Arkadiusz
> <arkadiusz.kubalewski@intel.com>; Korba, Przemyslaw
> <przemyslaw.korba@intel.com>
> Subject: [PATCH iwl-next] ice: add rx timestamp tracepoint for
> debugging
>
> Add ice_rx_hwtstamp trace event to help debug PTP rx timestamp issues.
> The trace captures cached_time, ts_high, and the extended ts_ns value
> in ice_ptp_get_rx_hwts().
>
> Enable with:
> echo 1 > /sys/kernel/debug/tracing/events/ice/ice_rx_hwtstamp/enable
> cat /sys/kernel/debug/tracing/trace_pipe
>
> Signed-off-by: Przemyslaw Korba <przemyslaw.korba@intel.com>
> ---
> drivers/net/ethernet/intel/ice/ice_ptp.c | 2 ++
> drivers/net/ethernet/intel/ice/ice_trace.h | 18 ++++++++++++++++++
> 2 files changed, 20 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c
> b/drivers/net/ethernet/intel/ice/ice_ptp.c
> index 691f05c62d4e..07e621813ff5 100644
> --- a/drivers/net/ethernet/intel/ice/ice_ptp.c
> +++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
> @@ -2333,6 +2333,8 @@ u64 ice_ptp_get_rx_hwts(const union
> ice_32b_rx_flex_desc *rx_desc,
> ts_high = le32_to_cpu(rx_desc->wb.flex_ts.ts_high);
> ts_ns = ice_ptp_extend_32b_ts(cached_time, ts_high);
>
> + ice_trace(rx_hwtstamp, cached_time, ts_high, ts_ns);
> +
> return ts_ns;
> }
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_trace.h
> b/drivers/net/ethernet/intel/ice/ice_trace.h
> index 4f35ef8d6b29..3cb8c6ea03cf 100644
> --- a/drivers/net/ethernet/intel/ice/ice_trace.h
> +++ b/drivers/net/ethernet/intel/ice/ice_trace.h
> @@ -241,6 +241,24 @@ DEFINE_TX_TSTAMP_OP_EVENT(ice_tx_tstamp_fw_req);
> DEFINE_TX_TSTAMP_OP_EVENT(ice_tx_tstamp_fw_done);
> DEFINE_TX_TSTAMP_OP_EVENT(ice_tx_tstamp_complete);
>
> +/* Trace event for Rx timestamp */
> +TRACE_EVENT(ice_rx_hwtstamp,
> + TP_PROTO(u64 cached_time, u32 ts_high, u64 ts_ns),
> +
> + TP_ARGS(cached_time, ts_high, ts_ns),
> +
> + TP_STRUCT__entry(__field(u64, cached_time)
> + __field(u32, ts_high)
> + __field(u64, ts_ns)),
> +
> + TP_fast_assign(__entry->cached_time = cached_time;
> + __entry->ts_high = ts_high;
> + __entry->ts_ns = ts_ns;),
> +
> + TP_printk("cached_time=%llu ts_high=%u ts_ns=%llu",
> + __entry->cached_time, __entry->ts_high, __entry-
> >ts_ns) );
> +
> DECLARE_EVENT_CLASS(ice_esw_br_fdb_template,
> TP_PROTO(struct ice_esw_br_fdb_entry *fdb),
> TP_ARGS(fdb),
>
> base-commit: 5c0d2ac5900d689d422a31cd45073175150c0a39
> --
> 2.43.0
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-05-11 9:43 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-11 7:36 [PATCH iwl-next] ice: add rx timestamp tracepoint for debugging Przemyslaw Korba
2026-05-11 9:43 ` Loktionov, Aleksandr
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox