2023-12-20 15:10:40

by Werner Sembach

[permalink] [raw]
Subject: [PATCH] thunderbolt: Reduce retry timeout to speed up boot for some devices

This is a followup to "thunderbolt: Workaround an IOMMU fault on certain
systems with Intel Maple Ridge".

It seems like the timeout can be reduced to 250ms. This reduces the overall
delay caused by the retires to ~1s. This is about the time other things
being initialized in parallel need anyway*, so like this the effective boot
time is no longer compromised.

*I only had a single device available for my measurements: A Clevo X170KM-G
desktop replacement notebook.

Signed-off-by: Werner Sembach <[email protected]>
---
drivers/thunderbolt/icm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/thunderbolt/icm.c b/drivers/thunderbolt/icm.c
index d8b9c734abd36..56790d50f9e32 100644
--- a/drivers/thunderbolt/icm.c
+++ b/drivers/thunderbolt/icm.c
@@ -1020,7 +1020,7 @@ icm_tr_driver_ready(struct tb *tb, enum tb_security_level *security_level,

memset(&reply, 0, sizeof(reply));
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
- 1, 10, 2000);
+ 1, 10, 250);
if (ret)
return ret;

--
2.34.1



2023-12-20 15:26:35

by Werner Sembach

[permalink] [raw]
Subject: Re: [PATCH] thunderbolt: Reduce retry timeout to speed up boot for some devices

Am 20.12.23 um 16:09 schrieb Werner Sembach:
> This is a followup to "thunderbolt: Workaround an IOMMU fault on certain
> systems with Intel Maple Ridge".
>
> It seems like the timeout can be reduced to 250ms. This reduces the overall
> delay caused by the retires to ~1s. This is about the time other things
> being initialized in parallel need anyway*, so like this the effective boot
> time is no longer compromised.
>
> *I only had a single device available for my measurements: A Clevo X170KM-G
> desktop replacement notebook.
>
> Signed-off-by: Werner Sembach <[email protected]>
I wonder if this could also land in stable? Or would it be to risky?
> ---
> drivers/thunderbolt/icm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/thunderbolt/icm.c b/drivers/thunderbolt/icm.c
> index d8b9c734abd36..56790d50f9e32 100644
> --- a/drivers/thunderbolt/icm.c
> +++ b/drivers/thunderbolt/icm.c
> @@ -1020,7 +1020,7 @@ icm_tr_driver_ready(struct tb *tb, enum tb_security_level *security_level,
>
> memset(&reply, 0, sizeof(reply));
> ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
> - 1, 10, 2000);
> + 1, 10, 250);
> if (ret)
> return ret;
>

2023-12-20 16:15:47

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH] thunderbolt: Reduce retry timeout to speed up boot for some devices

On Wed, Dec 20, 2023 at 04:23:15PM +0100, Werner Sembach wrote:
> Am 20.12.23 um 16:09 schrieb Werner Sembach:
> > This is a followup to "thunderbolt: Workaround an IOMMU fault on certain
> > systems with Intel Maple Ridge".
> >
> > It seems like the timeout can be reduced to 250ms. This reduces the overall
> > delay caused by the retires to ~1s. This is about the time other things
> > being initialized in parallel need anyway*, so like this the effective boot
> > time is no longer compromised.
> >
> > *I only had a single device available for my measurements: A Clevo X170KM-G
> > desktop replacement notebook.
> >
> > Signed-off-by: Werner Sembach <[email protected]>
> I wonder if this could also land in stable? Or would it be to risky?

If it's really a bugfix now, why would it _not_ be relevant for stable?

thanks,

greg k-h

2023-12-20 17:37:46

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH] thunderbolt: Reduce retry timeout to speed up boot for some devices

On Wed, Dec 20, 2023 at 05:41:01PM +0100, Werner Sembach wrote:
>
> Am 20.12.23 um 17:04 schrieb Greg KH:
> > On Wed, Dec 20, 2023 at 04:23:15PM +0100, Werner Sembach wrote:
> > > Am 20.12.23 um 16:09 schrieb Werner Sembach:
> > > > This is a followup to "thunderbolt: Workaround an IOMMU fault on certain
> > > > systems with Intel Maple Ridge".
> > > >
> > > > It seems like the timeout can be reduced to 250ms. This reduces the overall
> > > > delay caused by the retires to ~1s. This is about the time other things
> > > > being initialized in parallel need anyway*, so like this the effective boot
> > > > time is no longer compromised.
> > > >
> > > > *I only had a single device available for my measurements: A Clevo X170KM-G
> > > > desktop replacement notebook.
> > > >
> > > > Signed-off-by: Werner Sembach <[email protected]>
> > > I wonder if this could also land in stable? Or would it be to risky?
> > If it's really a bugfix now, why would it _not_ be relevant for stable?
>
> Because it changes a timeout that could cause issues if set to low: This
> Patch sets to to 250ms. Set to 50ms it causes issues, currently it's 2000ms,
> 2 people tested that 250ms is enough, but i don't know if this is a big
> enough sample size for stable.

Remember, the next kernel will be a stable kernel tree, just like the
one after that. If it's good enough for Linus's tree, why wouldn't it
be good enough for all stable trees? Either it works or it doesn't,
none of this "we will break things when you move to a new kernel" stuff
please.

thanks,

greg k-h

2023-12-21 10:37:48

by Mika Westerberg

[permalink] [raw]
Subject: Re: [PATCH] thunderbolt: Reduce retry timeout to speed up boot for some devices

Hi,

On Wed, Dec 20, 2023 at 06:30:53PM +0100, Greg KH wrote:
> On Wed, Dec 20, 2023 at 05:41:01PM +0100, Werner Sembach wrote:
> >
> > Am 20.12.23 um 17:04 schrieb Greg KH:
> > > On Wed, Dec 20, 2023 at 04:23:15PM +0100, Werner Sembach wrote:
> > > > Am 20.12.23 um 16:09 schrieb Werner Sembach:
> > > > > This is a followup to "thunderbolt: Workaround an IOMMU fault on certain
> > > > > systems with Intel Maple Ridge".
> > > > >
> > > > > It seems like the timeout can be reduced to 250ms. This reduces the overall
> > > > > delay caused by the retires to ~1s. This is about the time other things
> > > > > being initialized in parallel need anyway*, so like this the effective boot
> > > > > time is no longer compromised.
> > > > >
> > > > > *I only had a single device available for my measurements: A Clevo X170KM-G
> > > > > desktop replacement notebook.
> > > > >
> > > > > Signed-off-by: Werner Sembach <[email protected]>
> > > > I wonder if this could also land in stable? Or would it be to risky?
> > > If it's really a bugfix now, why would it _not_ be relevant for stable?
> >
> > Because it changes a timeout that could cause issues if set to low: This
> > Patch sets to to 250ms. Set to 50ms it causes issues, currently it's 2000ms,
> > 2 people tested that 250ms is enough, but i don't know if this is a big
> > enough sample size for stable.
>
> Remember, the next kernel will be a stable kernel tree, just like the
> one after that. If it's good enough for Linus's tree, why wouldn't it
> be good enough for all stable trees? Either it works or it doesn't,
> none of this "we will break things when you move to a new kernel" stuff
> please.

Since this is kind of "improvement" over already functioning code, I
would put it to v6.8 and not to stable trees. This way it gets more some
more exposure before landing to distro kernels.

It would be nice to get Tested-by from the folks involved on that
bugzilla as well, if that's possible. I can try this on my side on a
Maple Ridge based system (that does not have the original issue) so that
we know that it does not cause any issues on them.

2023-12-21 12:21:15

by Werner Sembach

[permalink] [raw]
Subject: Re: [PATCH] thunderbolt: Reduce retry timeout to speed up boot for some devices


Am 20.12.23 um 17:04 schrieb Greg KH:
> On Wed, Dec 20, 2023 at 04:23:15PM +0100, Werner Sembach wrote:
>> Am 20.12.23 um 16:09 schrieb Werner Sembach:
>>> This is a followup to "thunderbolt: Workaround an IOMMU fault on certain
>>> systems with Intel Maple Ridge".
>>>
>>> It seems like the timeout can be reduced to 250ms. This reduces the overall
>>> delay caused by the retires to ~1s. This is about the time other things
>>> being initialized in parallel need anyway*, so like this the effective boot
>>> time is no longer compromised.
>>>
>>> *I only had a single device available for my measurements: A Clevo X170KM-G
>>> desktop replacement notebook.
>>>
>>> Signed-off-by: Werner Sembach <[email protected]>
>> I wonder if this could also land in stable? Or would it be to risky?
> If it's really a bugfix now, why would it _not_ be relevant for stable?

edit: Sorry if this is the 3rd time I send this, I got mail server
errors (hopefully fixed now) and am not sure if it reached out

Because it changes a timeout that could cause issues if set to low: This
Patch sets to to 250ms. Set to 50ms it causes issues, currently it's
2000ms, 2 people tested that 250ms is enough, but i don't know if this
is a big enough sample size for stable.

The advantage is significantly faster boot time on affected devices
(~12s down to ~3s), however they do already work fine without it.

Kind regards,

Werner

>
> thanks,
>
> greg k-h

2023-12-22 11:09:13

by Mika Westerberg

[permalink] [raw]
Subject: Re: [PATCH] thunderbolt: Reduce retry timeout to speed up boot for some devices

On Wed, Dec 20, 2023 at 04:09:56PM +0100, Werner Sembach wrote:
> This is a followup to "thunderbolt: Workaround an IOMMU fault on certain
> systems with Intel Maple Ridge".
>
> It seems like the timeout can be reduced to 250ms. This reduces the overall
> delay caused by the retires to ~1s. This is about the time other things
> being initialized in parallel need anyway*, so like this the effective boot
> time is no longer compromised.
>
> *I only had a single device available for my measurements: A Clevo X170KM-G
> desktop replacement notebook.
>
> Signed-off-by: Werner Sembach <[email protected]>

Applied to thunderbolt.git/next, thanks!