> -----Original Message-----
> From: Jacob Keller <[email protected]> 
> Sent: Friday, September 25, 2026 4:57 PM
> To: Intel Wired LAN <[email protected]>; Machnikowski, Maciej 
> <[email protected]>; Keller, Jacob E <[email protected]>; 
> Korba, Przemyslaw <[email protected]>; Nguyen, Anthony L 
> <[email protected]>; Nitka, Grzegorz <[email protected]>; 
> Kubalewski, Arkadiusz <[email protected]>
> Cc: Keller, Jacob E <[email protected]>
> Subject: [PATCH iwl-net v3 13/15] ice: skip reading Tx ready bitmap on ports 
> with no timestamps
> 
> On E82x devices, the interrupt for Tx timestamps are handled by the clock 
> owner. When an interrupt with the Tx timestamp cause is fired, the clock 
> owner PF iterates the list of ports and checks for timestamps across all 
> ports.
> 
> The existing logic reads the PHY timestamp ready bitmap before iterating the 
> list of in-use timestamp indexes, even for ports which have no timestamps 
> waiting in the software timestamp tracker. This has a significant and 
> measurable latency impact on reporting Tx timestamps.
> 
> Check the bitmap and exit early in the event that there are no timestamps 
> waiting on a port. Observant reviewers may notice that the check is done 
> without acquiring the lock. This is fine, as whether the thread > sees or 
> fails to see a new outstanding timestamp does not affect correctness, only 
> determining whether or not it should do extra work.
> 
> Skipping the check has the highest impact on E822 an E825 devices which 
> iterate all ports in a single thread, but it is applied universally to all 
> device types since the extra read is unnecessary regardless.
> 
> The average latency of a Tx timestamp is impacted by several factors 
> including system load, the number of timestamp requests, and some random 
> factors that are difficult to control. However for comparison on > my system 
> with these changes, while operating ptp4l on a single port with a sync rate 
> of 16/second:
> 
>   Before: mean 317.43 microseconds, standard deviation 34.51
>   After: mean 189.71 microseconds, standard deviation 43.24
> 
> Of course this level of improvement may not be indicative of a production 
> setup as one might expect timestamps to be operating out of multiple ports on 
> the device. However, even in that case an improvement is still likely 
> depending on the actual timestamp rates.
> 
> Fixes: d938a8cca88a ("ice: Auxbus devices & driver for E822 TS")
> Signed-off-by: Jacob Keller <[email protected]>
> ---
>  drivers/net/ethernet/intel/ice/ice_ptp.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Tested-by: Alexander Nowlin <[email protected]>

Reply via email to