Yo Florian,
On Tue, May 30, 2023 at 01:19:55PM -0700, Florian Fainelli wrote:
> From: Pierre Gondois <[email protected]>
>
> 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 <[email protected]>
> Link: https://lore.kernel.org/all/20230404-hatred-swimmer-6fecdf33b57a@spud/
> Signed-off-by: Pierre Gondois <[email protected]>
> Reviewed-by: Conor Dooley <[email protected]>
> Link: https://lore.kernel.org/r/[email protected]
> Signed-off-by: Sudeep Holla <[email protected]>
> Signed-off-by: Florian Fainelli <[email protected]>
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?
Cheers,
Conor.
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 <[email protected]>
>>
>> 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 <[email protected]>
>> Link: https://lore.kernel.org/all/20230404-hatred-swimmer-6fecdf33b57a@spud/
>> Signed-off-by: Pierre Gondois <[email protected]>
>> Reviewed-by: Conor Dooley <[email protected]>
>> Link: https://lore.kernel.org/r/[email protected]
>> Signed-off-by: Sudeep Holla <[email protected]>
>> Signed-off-by: Florian Fainelli <[email protected]>
>
> 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.
--
Florian
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 <[email protected]>
> > >
> > > 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 <[email protected]>
> > > Link: https://lore.kernel.org/all/20230404-hatred-swimmer-6fecdf33b57a@spud/
> > > Signed-off-by: Pierre Gondois <[email protected]>
> > > Reviewed-by: Conor Dooley <[email protected]>
> > > Link: https://lore.kernel.org/r/[email protected]
> > > Signed-off-by: Sudeep Holla <[email protected]>
> > > Signed-off-by: Florian Fainelli <[email protected]>
> >
> > 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 :).
--
Regards,
Sudeep
On Wed, May 31, 2023 at 09:53:56AM +0100, 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 <[email protected]>
> > > >
> > > > 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 <[email protected]>
> > > > Link: https://lore.kernel.org/all/20230404-hatred-swimmer-6fecdf33b57a@spud/
> > > > Signed-off-by: Pierre Gondois <[email protected]>
> > > > Reviewed-by: Conor Dooley <[email protected]>
> > > > Link: https://lore.kernel.org/r/[email protected]
> > > > Signed-off-by: Sudeep Holla <[email protected]>
> > > > Signed-off-by: Florian Fainelli <[email protected]>
> > >
> > > 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 :).
Just to be clear, I was not objecting, just curious!
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 <[email protected]>
>>>>
>>>> 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 <[email protected]>
>>>> Link: https://lore.kernel.org/all/20230404-hatred-swimmer-6fecdf33b57a@spud/
>>>> Signed-off-by: Pierre Gondois <[email protected]>
>>>> Reviewed-by: Conor Dooley <[email protected]>
>>>> Link: https://lore.kernel.org/r/[email protected]
>>>> Signed-off-by: Sudeep Holla <[email protected]>
>>>> Signed-off-by: Florian Fainelli <[email protected]>
>>>
>>> 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, if so, any preference on
how to do it given the state of 6.3 stable?
--
Florian
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 <[email protected]>
> > > > >
> > > > > 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 <[email protected]>
> > > > > Link: https://lore.kernel.org/all/20230404-hatred-swimmer-6fecdf33b57a@spud/
> > > > > Signed-off-by: Pierre Gondois <[email protected]>
> > > > > Reviewed-by: Conor Dooley <[email protected]>
> > > > > Link: https://lore.kernel.org/r/[email protected]
> > > > > Signed-off-by: Sudeep Holla <[email protected]>
> > > > > Signed-off-by: Florian Fainelli <[email protected]>
> > > >
> > > > 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/[email protected]
[2] https://lore.kernel.org/all/[email protected]
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 <[email protected]>
>>>>>>
>>>>>> 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 <[email protected]>
>>>>>> Link: https://lore.kernel.org/all/20230404-hatred-swimmer-6fecdf33b57a@spud/
>>>>>> Signed-off-by: Pierre Gondois <[email protected]>
>>>>>> Reviewed-by: Conor Dooley <[email protected]>
>>>>>> Link: https://lore.kernel.org/r/[email protected]
>>>>>> Signed-off-by: Sudeep Holla <[email protected]>
>>>>>> Signed-off-by: Florian Fainelli <[email protected]>
>>>>>
>>>>> 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:
diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c
index c4b6198d7461..a72fcf836ed3 100644
--- a/drivers/base/arch_topology.c
+++ b/drivers/base/arch_topology.c
@@ -845,7 +845,7 @@ void __init init_cpu_topology(void)
ret = fetch_cache_info(cpu);
if (!ret)
continue;
- else if (ret != -ENOENT)
+ else if (ret != -ENOENT && ret != -EINVAL)
pr_err("Early cacheinfo failed, ret = %d\n", ret);
return;
}
--
Florian
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 <[email protected]>
> > > > > > >
> > > > > > > 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 <[email protected]>
> > > > > > > Link: https://lore.kernel.org/all/20230404-hatred-swimmer-6fecdf33b57a@spud/
> > > > > > > Signed-off-by: Pierre Gondois <[email protected]>
> > > > > > > Reviewed-by: Conor Dooley <[email protected]>
> > > > > > > Link: https://lore.kernel.org/r/[email protected]
> > > > > > > Signed-off-by: Sudeep Holla <[email protected]>
> > > > > > > Signed-off-by: Florian Fainelli <[email protected]>
> > > > > >
> > > > > > 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/[email protected]
On Tue, May 30, 2023 at 01:19:55PM -0700, Florian Fainelli wrote:
> From: Pierre Gondois <[email protected]>
>
> commit 3522340199cc060b70f0094e3039bdb43c3f6ee1 upstream
Wait, this is already in 6.3.2, so why add it again?
totally confused,
greg k-h
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 <[email protected]>
> > > > > > > >
> > > > > > > > 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 <[email protected]>
> > > > > > > > Link: https://lore.kernel.org/all/20230404-hatred-swimmer-6fecdf33b57a@spud/
> > > > > > > > Signed-off-by: Pierre Gondois <[email protected]>
> > > > > > > > Reviewed-by: Conor Dooley <[email protected]>
> > > > > > > > Link: https://lore.kernel.org/r/[email protected]
> > > > > > > > Signed-off-by: Sudeep Holla <[email protected]>
> > > > > > > > Signed-off-by: Florian Fainelli <[email protected]>
> > > > > > >
> > > > > > > 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