Message ID | 20241106184722.17230-1-christopher.s.hall@intel.com (mailing list archive) |
---|---|
Headers | show |
Series | igc: Fix PTM timeout | expand |
Hi Chris, On Nov 6 18:47, Christopher S M Hall wrote: > There have been sporadic reports of PTM timeouts using i225/i226 devices > > These timeouts have been root caused to: > > 1) Manipulating the PTM status register while PTM is enabled and triggered > 2) The hardware retrying too quickly when an inappropriate response is > received from the upstream device > > The issue can be reproduced with the following: > > $ sudo phc2sys -R 1000 -O 0 -i tsn0 -m > > Note: 1000 Hz (-R 1000) is unrealistically large, but provides a way to > quickly reproduce the issue. > > PHC2SYS exits with: > > "ioctl PTP_OFFSET_PRECISE: Connection timed out" when the PTM transaction > fails > > Additional problem description tested by: > Corinna Vinschen <vinschen@redhat.com> > > This patch also fixes a hang in igc_probe() when loading the igc > driver in the kdump kernel on systems supporting PTM. > > The igc driver running in the base kernel enables PTM trigger in > igc_probe(). Therefore the driver is always in PTM trigger mode, > except in brief periods when manually triggering a PTM cycle. > > When a crash occurs, the NIC is reset while PTM trigger is enabled. > Due to a hardware problem, the NIC is subsequently in a bad busmaster > state and doesn't handle register reads/writes. When running > igc_probe() in the kdump kernel, the first register access to a NIC > register hangs driver probing and ultimately breaks kdump. > > With this patch, igc has PTM trigger disabled most of the time, > and the trigger is only enabled for very brief (10 - 100 us) periods > when manually triggering a PTM cycle. Chances that a crash occurs > during a PTM trigger are not zero, but extremly reduced. The patchset looks good to me, but I don't see that this description will make it into the commit message of patch 1. Was that intended? Other than that... Reviewed-by: Corinna Vinschen <vinschen@redhat.com> Thanks, Corinna