From mboxrd@z Thu Jan 1 00:00:00 1970 From: meraj.enigma@gmail.com (Mohammad Merajul Islam Molla) Date: Tue, 22 Jul 2014 21:07:47 +0600 Subject: Confused by function names cpuidle_install_idle_handler/cpuidle_uninstall_idle_handler In-Reply-To: <1406040238.75610.YahooMailNeo@web161401.mail.bf1.yahoo.com> References: <1406040238.75610.YahooMailNeo@web161401.mail.bf1.yahoo.com> Message-ID: To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org 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 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 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 > wrote: >> On Fri, Jul 18, 2014 at 11:07 PM, Mohammad Merajul Islam Molla >> 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 at kernelnewbies.org > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies >