Re: [PATCH net-next] net: lan743x: skip timestamping for non-PTP packets
From: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Date: 2023-07-31 13:47:41
Also in:
lkml
From: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Date: 2023-07-31 13:47:41
Also in:
lkml
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.