[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4ee8f886-40ed-46bc-9d11-1619d64f7875@molgen.mpg.de>
Date: Thu, 7 Nov 2024 00:13:43 +0100
From: Paul Menzel <pmenzel@...gen.mpg.de>
To: Christopher S M Hall <christopher.s.hall@...el.com>
Cc: intel-wired-lan@...ts.osuosl.org, david.zage@...el.com,
vinicius.gomes@...el.com, netdev@...r.kernel.org,
rodrigo.cadore@...coustics.com, vinschen@...hat.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 v3 2/6] igc: Lengthen the
hardware retry time to prevent timeouts
Dear Christopher,
Thank you for the patch.
I’d use the more specific summary/title below:
igc: Lengthen hardware retry time to 4 μs to prevent timeouts
Am 06.11.24 um 19:47 schrieb Christopher S M Hall:
> Lengthen the hardware retry timer to four microseconds.
>
> The i225/i226 hardware retries if it receives an inappropriate response
> from the upstream device. If the device retries too quickly, the root
> port does not respond.
Any idea why? Is it documented somewhere?
> 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
Why four microseconds, and not some other value?
> Fixes: 6b8aa753a9f9 ("igc: Decrease PTM short interval from 10 us to 1 us")
> 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>
> ---
> drivers/net/ethernet/intel/igc/igc_defines.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/igc/igc_defines.h b/drivers/net/ethernet/intel/igc/igc_defines.h
> index 2ff292f5f63b..84521a4c35b4 100644
> --- a/drivers/net/ethernet/intel/igc/igc_defines.h
> +++ b/drivers/net/ethernet/intel/igc/igc_defines.h
> @@ -574,7 +574,7 @@
> #define IGC_PTM_CTRL_SHRT_CYC(usec) (((usec) & 0x3f) << 2)
> #define IGC_PTM_CTRL_PTM_TO(usec) (((usec) & 0xff) << 8)
>
> -#define IGC_PTM_SHORT_CYC_DEFAULT 1 /* Default short cycle interval */
> +#define IGC_PTM_SHORT_CYC_DEFAULT 4 /* Default short cycle interval */
> #define IGC_PTM_CYC_TIME_DEFAULT 5 /* Default PTM cycle time */
> #define IGC_PTM_TIMEOUT_DEFAULT 255 /* Default timeout for PTM errors */
Kind regards,
Paul
Powered by blists - more mailing lists