[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z-0VoDTYP9HsSrsJ@calimero.vinschen.de>
Date: Wed, 2 Apr 2025 12:46:56 +0200
From: Corinna Vinschen <vinschen@...hat.com>
To: Jacob Keller <jacob.e.keller@...el.com>
Cc: Anthony Nguyen <anthony.l.nguyen@...el.com>, david.zage@...el.com,
vinicius.gomes@...el.com, rodrigo.cadore@...coustics.com,
intel-wired-lan@...ts.osuosl.org, netdev@...r.kernel.org,
Christopher S M Hall <christopher.s.hall@...el.com>,
Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>,
Mor Bar-Gabay <morx.bar.gabay@...el.com>,
Avigail Dahan <avigailx.dahan@...el.com>
Subject: Re: [Intel-wired-lan] [PATCH iwl-net v4 1/6] igc: fix PTM cycle
trigger logic
On Apr 1 16:35, Jacob Keller wrote:
> From: Christopher S M Hall <christopher.s.hall@...el.com>
>
> Writing to clear the PTM status 'valid' bit while the PTM cycle is
> triggered results in unreliable PTM operation. To fix this, clear the
> PTM 'trigger' and status after each PTM transaction.
>
> 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
>
> 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 0, but extremly reduced.
>
> Fixes: a90ec8483732 ("igc: Add support for PTP getcrosststamp()")
> Reviewed-by: Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>
> Tested-by: Mor Bar-Gabay <morx.bar.gabay@...el.com>
> Tested-by: Avigail Dahan <avigailx.dahan@...el.com>
> Signed-off-by: Christopher S M Hall <christopher.s.hall@...el.com>
> Reviewed-by: Corinna Vinschen <vinschen@...hat.com>
> Signed-off-by: Jacob Keller <jacob.e.keller@...el.com>
Tested-by: Corinna Vinschen <vinschen@...hat.com>
Powered by blists - more mailing lists