Re: [PATCH stable 6.3 v2] arch_topology: Remove early cacheinfo error message if -ENOENT

From: Sudeep Holla
Date: Thu Jun 01 2023 - 02:32:41 EST


On Wed, May 31, 2023 at 12:52:22PM -0700, Florian Fainelli wrote:
>
>
> On 5/31/2023 8:43 AM, Sudeep Holla wrote:
> > On Wed, May 31, 2023 at 08:28:26AM -0700, Florian Fainelli wrote:
> > >
> > >
> > > On 5/31/2023 1:53 AM, Sudeep Holla wrote:
> > > > On Tue, May 30, 2023 at 03:42:45PM -0700, Florian Fainelli wrote:
> > > > > Hi Conor,
> > > > >
> > > > > On 5/30/23 14:39, Conor Dooley wrote:
> > > > > > Yo Florian,
> > > > > >
> > > > > > On Tue, May 30, 2023 at 01:19:55PM -0700, Florian Fainelli wrote:
> > > > > > > From: Pierre Gondois <pierre.gondois@xxxxxxx>
> > > > > > >
> > > > > > > commit 3522340199cc060b70f0094e3039bdb43c3f6ee1 upstream
> > > > > > >
> > > > > > > fetch_cache_info() tries to get the number of cache leaves/levels
> > > > > > > for each CPU in order to pre-allocate memory for cacheinfo struct.
> > > > > > > Allocating this memory later triggers a:
> > > > > > > 'BUG: sleeping function called from invalid context'
> > > > > > > in PREEMPT_RT kernels.
> > > > > > >
> > > > > > > If there is no cache related information available in DT or ACPI,
> > > > > > > fetch_cache_info() fails and an error message is printed:
> > > > > > > 'Early cacheinfo failed, ret = ...'
> > > > > > >
> > > > > > > Not having cache information should be a valid configuration.
> > > > > > > Remove the error message if fetch_cache_info() fails with -ENOENT.
> > > > > > >
> > > > > > > Suggested-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
> > > > > > > Link: https://lore.kernel.org/all/20230404-hatred-swimmer-6fecdf33b57a@spud/
> > > > > > > Signed-off-by: Pierre Gondois <pierre.gondois@xxxxxxx>
> > > > > > > Reviewed-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
> > > > > > > Link: https://lore.kernel.org/r/20230414081453.244787-4-pierre.gondois@xxxxxxx
> > > > > > > Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx>
> > > > > > > Signed-off-by: Florian Fainelli <florian.fainelli@xxxxxxxxxxxx>
> > > > > >
> > > > > > How come this now needs a backport? Did the rest of the series get
> > > > > > backported, but not this one since it has no fixes tag?
> > > > >
> > > > > Humm, indeed, this has been present in v6.3.2 since I requested it to be
> > > > > included. The error that I saw this morning was not -ENOENT, but -EINVAL.
> > > > >
> > > > > With those patches applied, no more -EINVAL:
> > > > >
> > > > > cacheinfo: Allow early level detection when DT/ACPI info is missing/broken
> > > > > cacheinfo: Add arm64 early level initializer implementation
> > > > > cacheinfo: Add arch specific early level initializer
> > > > > cacheinfo: Add use_arch[|_cache]_info field/function
> > > > >
> > > > > I will submit those shortly unless we think they better not be in 6.3, in
> > > > > which case it would be nice to silence those -EINVAL errors.
> > > >
> > > > I prefer this option instead of back porting all the above 4 as there are
> > > > some pending fixes for the issues found in those patches. I am fine if Greg
> > > > is happy with the backport, so no strong rejection from my side :).
> > >
> > > OK, so are you suggesting that we specific check for -EINVAL and -ENOENT
> > > rather than take all of the 4 above patches,
> >
> > Yes that is my preference ATM or if possible to wait until all the fixes
> > are sorted for the bugs associated with above 4 commits [1] and [2].
> > I have queued [1] but waiting for response/patch on [2] and hence not yet
> > bothered Greg.
> >
> > > if so, any preference on how to do it given the state of 6.3 stable?
> >
> > I don't understand what exactly do you mean ?
>
> Linux 6.3.y currently contains:
>
> cacheinfo: Check sib_leaf in cache_leaves_are_shared()
> cacheinfo: Check cache properties are present in DT
> arch_topology: Remove early cacheinfo error message if -ENOENT
>
> however my logs are full of:
>
> [ 0.001484] Early cacheinfo failed, ret = -22
>
> reverting these 3 patches mentioned above does not eliminate the error.
>
> What I am asking is if we need a targeted fix for 6.3 like this:
>

I am fine with that. Please note Greg has now pulled the fixes I pointed.
So I am fine if you want to backport the 4 patches discussed earlier as
the stable will get the fixes soon which was my main concern earlier.

The other issue I pointed should also be resolved soon based on [1]

--
Regards,
Sudeep

[1] https://lore.kernel.org/all/20230531170336.GA22753@xxxxxxxxxxxxxxxxxxxxxxxxx