> -----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]>
