Hi Meraj, Look at the condition where they are called, If they justify the meaning of the functions it's ok to keep the name as it is. Other wise if you have alternate name for these functions, just send a patch to the maintainers of the code changes. -Anand Moon On Tuesday, July 22, 2014 8:38 PM, Mohammad Merajul Islam Molla <meraj.enigma@gmail.com> wrote: Hi Anand, Thanks for your reply. I looked up the patch. Question: Should these functions be renamed now that they don't do what they used to do earlier? -- Thanks, -Meraj On Tue, Jul 22, 2014 at 8:43 PM, Anand Moon <moon.linux@yahoo.com> wrote:
Hi Meraj,
Please look at the following commit this will help clear you confusion
git commit id : a0bfa1373859e9d11dc92561a8667588803e42d8
patch :0001-cpuidle-stop-depending-on-pm_idle.patch
To generate following patch:
#git format-patch -1 a0bfa1373859e9d11dc92561a8667588803e42d8
0001-cpuidle-stop-depending-on-pm_idle.patch
-Anand Moon
On Tuesday, July 22, 2014 7:28 PM, Mohammad Merajul Islam Molla <meraj.enigma@gmail.com> wrote: Hello,
As mentioned, the code excerpt was from kernel version 3.0.
In recent kernel (version 3.16.0-rc4), the code for the two mentioned functions looks as below -
/** * cpuidle_install_idle_handler - installs the cpuidle idle loop handler */ void cpuidle_install_idle_handler(void) { if (enabled_devices) { /* Make sure all changes finished before we switch to new idle */ smp_wmb(); initialized = 1; } }
/** * cpuidle_uninstall_idle_handler - uninstalls the cpuidle idle loop handler */ void cpuidle_uninstall_idle_handler(void) { if (enabled_devices) { initialized = 0; kick_all_cpus_sync(); } }
That is the source of confusion. There is no pm_idle handler installed (or uninstalled) anymore.
-- Thanks, -Meraj
On Tue, Jul 22, 2014 at 4:54 PM, Mulyadi Santosa <mulyadi.santosa@gmail.com> wrote:
On Fri, Jul 18, 2014 at 11:07 PM, Mohammad Merajul Islam Molla <meraj.enigma@gmail.com> wrote:
Hello,
In drivers/cpuidle/cpuidle.c, there are two functions cpuidle_install_idle_handler & cpuidle_uninstall_idle_handler. The names seem confusing to me as they don't install any handler, rather set 'initialized' variable to 1/0.
In v3.0 kernel, these functions used to look as below where they installed and uninstalled some handler function -
void cpuidle_install_idle_handler(void) 123 { 124 if (enabled_devices && (pm_idle != cpuidle_idle_call)) { 125 /* Make sure all changes finished before we switch to new idle */ 126 smp_wmb(); 127 pm_idle = cpuidle_idle_call; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pm_idle is the callback handler, and it is assigned to cpuidle_idle_call. I think this what it means by "install"
-- regards,
Mulyadi Santosa Freelance Linux trainer and consultant
blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies