> -----Original Message----- > From: Keller, Jacob E <[email protected]> > Sent: Friday, August 21, 2026 5:13 PM > To: Intel Wired LAN <[email protected]> > Cc: [email protected]; Machnikowski, Maciej > <[email protected]>; Nguyen, Anthony L > <[email protected]>; Korba, Przemyslaw <[email protected]>; > Nitka, Grzegorz <[email protected]>; Oros, Petr <[email protected]>; > Nowlin, Alexander <[email protected]>; Bross, Kevin > <[email protected]>; Cavatur, Ranjit <[email protected]>; Keller, > Jacob E <[email protected]> > Subject: [PATCH iwl-net 11/12] 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 the only thread that > can clear > in_use bits is the miscellaneous interrupt handler. 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. > > Using the ice Tx timestamp traces, with a simple ptp4l setup the average > latency appears to be around 175 to 200 microseconds with a few outliers > taking hundreds of microseconds to be reported. With the check to skip empty > bitmaps (and thus skip reading the ready bitmap for inactive ports), the > average latency drops ~50 microseconds. > > 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]>
