Re: [PATCH net-next] net: lan743x: skip timestamping for non-PTP packets

From: Vadim Fedorenko
Date: Mon Jul 31 2023 - 09:47:40 EST


On 31/07/2023 13:54, Vishvambar Panth S wrote:
Currently all the RX packets are timestamped and the timestamp is appended
to the RX packet for processing, this reduces RX throughput. This can be
optimized by timestamping packets only when the PTP messages are received.
The RX PTP Configuration register [PTP_RX_TS_CFG] specifies what are the
PTP message types to be timestamped. The PTP_RX_TS_CFG_MSG_EN_ configures
Sync, Delay_Req, Pdelay_Req, Pdelay_Resp Message types to be timestamped.
The RX_CFG_B_TS_ALL_RX_ bit enables storing the timestamp for all RX
frames, now this is cleared as only PTP packets will be timestamped. The
RX_CFG_B_TS_DESCR_EN_ enables storing the timestamp in an extension
descriptor. When PTP messages are received the timestamp will be stored
in an extension descriptor of the RX packet.

Even though the performance benefit is clear, the PTP subsystem provides
options to select whether PTP filters must be applied or all packets
must be stamped. I think it's better to implement both options as the
hardware supports them, there are use cases where timestamps are needed
for all packets. Linuxptp can be easily configured for both variants,
the hardware/driver documentation can state that there will be
performance degradation for all RX packets timestamps mode.