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

From: Greg Kroah-Hartman
Date: Thu Jun 01 2023 - 06:27:05 EST


On Thu, Jun 01, 2023 at 07:32:31AM +0100, Sudeep Holla wrote:
> 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]

Ok, I don't know what to do here. I think I'll take this simple patch,
and not the longer series as that seems to be too much for 6.3.y now,
especially as the fixes for it are not in Linus's tree yet.

If, after a bit, all of those need to go to 6.3.y, can someone please
send them here for inclusion?

thanks,

greg k-h