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

From: Sudeep Holla
Date: Wed May 31 2023 - 11:43:48 EST


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 ?

--
Regards,
Sudeep

[1] https://lore.kernel.org/all/20230508084115.1157-1-kprateek.nayak@xxxxxxx
[2] https://lore.kernel.org/all/20230518012703.GA19967@xxxxxxxxxxxxxxxxxxxxxxxxx