diff mbox series

PM / EM: postpone creating the debugfs dir till fs_initcall

Message ID 20210323145608.29832-1-lukasz.luba@arm.com
State Accepted
Commit fb9d62b27ab1e07d625591549c314b7d406d21df
Headers show
Series PM / EM: postpone creating the debugfs dir till fs_initcall | expand

Commit Message

Lukasz Luba March 23, 2021, 2:56 p.m. UTC
The debugfs directory '/sys/kernel/debug/energy_model' is needed before
the Energy Model registration can happen. With the recent change in
debugfs subsystem it's not allowed to create this directory at early stage
(core_initcall). Thus creating this directory would fail.
Postpone the creation of the EM debug dir to later stage: fs_initcall.
It should be safe since all clients: CPUFreq drivers, Devfreq drivers will
be initialized in later stages.
The custom debug log below prints the time of creation the EM debug dir at
fs_initcall and successful registration of EMs at later stages.

[    1.505717] energy_model: creating rootdir
[    3.698307] cpu cpu0: EM: created perf domain
[    3.709022] cpu cpu1: EM: created perf domain

fixes: 56348560d495 ("debugfs: do not attempt to create a new file before the filesystem is initalized")
Reported-by: Ionela Voinescu <ionela.voinescu@arm.com>
Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
---
Hi Rafael,

Please take this patch into your PM v5.12 fixes. The change described in
the patch above landed in v5.12-rc1. Some of our EAS/EM tests are failing.

Regards,
Lukasz

 kernel/power/energy_model.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Lukasz Luba March 23, 2021, 3:57 p.m. UTC | #1
On 3/23/21 3:26 PM, Greg KH wrote:
> On Tue, Mar 23, 2021 at 02:56:08PM +0000, Lukasz Luba wrote:
>> The debugfs directory '/sys/kernel/debug/energy_model' is needed before
>> the Energy Model registration can happen. With the recent change in
>> debugfs subsystem it's not allowed to create this directory at early stage
>> (core_initcall). Thus creating this directory would fail.
>> Postpone the creation of the EM debug dir to later stage: fs_initcall.
>> It should be safe since all clients: CPUFreq drivers, Devfreq drivers will
>> be initialized in later stages.
>> The custom debug log below prints the time of creation the EM debug dir at
>> fs_initcall and successful registration of EMs at later stages.
>>
>> [    1.505717] energy_model: creating rootdir
>> [    3.698307] cpu cpu0: EM: created perf domain
>> [    3.709022] cpu cpu1: EM: created perf domain
>>
>> fixes: 56348560d495 ("debugfs: do not attempt to create a new file before the filesystem is initalized")
>> Reported-by: Ionela Voinescu <ionela.voinescu@arm.com>
>> Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
>> ---
>> Hi Rafael,
>>
>> Please take this patch into your PM v5.12 fixes. The change described in
>> the patch above landed in v5.12-rc1. Some of our EAS/EM tests are failing.
> 
> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> 

Thank you Greg!

Regards,
Lukasz
Rafael J. Wysocki March 23, 2021, 6:55 p.m. UTC | #2
On Tue, Mar 23, 2021 at 4:57 PM Lukasz Luba <lukasz.luba@arm.com> wrote:
>
>
>
> On 3/23/21 3:26 PM, Greg KH wrote:
> > On Tue, Mar 23, 2021 at 02:56:08PM +0000, Lukasz Luba wrote:
> >> The debugfs directory '/sys/kernel/debug/energy_model' is needed before
> >> the Energy Model registration can happen. With the recent change in
> >> debugfs subsystem it's not allowed to create this directory at early stage
> >> (core_initcall). Thus creating this directory would fail.
> >> Postpone the creation of the EM debug dir to later stage: fs_initcall.
> >> It should be safe since all clients: CPUFreq drivers, Devfreq drivers will
> >> be initialized in later stages.
> >> The custom debug log below prints the time of creation the EM debug dir at
> >> fs_initcall and successful registration of EMs at later stages.
> >>
> >> [    1.505717] energy_model: creating rootdir
> >> [    3.698307] cpu cpu0: EM: created perf domain
> >> [    3.709022] cpu cpu1: EM: created perf domain
> >>
> >> fixes: 56348560d495 ("debugfs: do not attempt to create a new file before the filesystem is initalized")
> >> Reported-by: Ionela Voinescu <ionela.voinescu@arm.com>
> >> Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
> >> ---
> >> Hi Rafael,
> >>
> >> Please take this patch into your PM v5.12 fixes. The change described in
> >> the patch above landed in v5.12-rc1. Some of our EAS/EM tests are failing.
> >
> > Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> >
>
> Thank you Greg!

Applied as 5.12-rc material, thanks!
Lukasz Luba March 24, 2021, 9:39 a.m. UTC | #3
On 3/23/21 6:55 PM, Rafael J. Wysocki wrote:
> On Tue, Mar 23, 2021 at 4:57 PM Lukasz Luba <lukasz.luba@arm.com> wrote:

>>

>>

>>

>> On 3/23/21 3:26 PM, Greg KH wrote:

>>> On Tue, Mar 23, 2021 at 02:56:08PM +0000, Lukasz Luba wrote:

>>>> The debugfs directory '/sys/kernel/debug/energy_model' is needed before

>>>> the Energy Model registration can happen. With the recent change in

>>>> debugfs subsystem it's not allowed to create this directory at early stage

>>>> (core_initcall). Thus creating this directory would fail.

>>>> Postpone the creation of the EM debug dir to later stage: fs_initcall.

>>>> It should be safe since all clients: CPUFreq drivers, Devfreq drivers will

>>>> be initialized in later stages.

>>>> The custom debug log below prints the time of creation the EM debug dir at

>>>> fs_initcall and successful registration of EMs at later stages.

>>>>

>>>> [    1.505717] energy_model: creating rootdir

>>>> [    3.698307] cpu cpu0: EM: created perf domain

>>>> [    3.709022] cpu cpu1: EM: created perf domain

>>>>

>>>> fixes: 56348560d495 ("debugfs: do not attempt to create a new file before the filesystem is initalized")

>>>> Reported-by: Ionela Voinescu <ionela.voinescu@arm.com>

>>>> Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>

>>>> ---

>>>> Hi Rafael,

>>>>

>>>> Please take this patch into your PM v5.12 fixes. The change described in

>>>> the patch above landed in v5.12-rc1. Some of our EAS/EM tests are failing.

>>>

>>> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

>>>

>>

>> Thank you Greg!

> 

> Applied as 5.12-rc material, thanks!

> 


Thank you Rafael!

Regards,
Lukasz
diff mbox series

Patch

diff --git a/kernel/power/energy_model.c b/kernel/power/energy_model.c
index 1358fa4abfa8..0f4530b3a8cd 100644
--- a/kernel/power/energy_model.c
+++ b/kernel/power/energy_model.c
@@ -98,7 +98,7 @@  static int __init em_debug_init(void)
 
 	return 0;
 }
-core_initcall(em_debug_init);
+fs_initcall(em_debug_init);
 #else /* CONFIG_DEBUG_FS */
 static void em_debug_create_pd(struct device *dev) {}
 static void em_debug_remove_pd(struct device *dev) {}