[PATCH] pseries/cpuidle: Remove redundant call to ppc64_runlatch_off() in cpu idle routines

Preeti U Murthy preeti at linux.vnet.ibm.com
Mon Jan 13 15:22:23 EST 2014


Hi Deepthi,

On 01/13/2014 09:27 AM, Deepthi Dharwar wrote:
> On 01/09/2014 10:35 AM, Preeti U Murthy wrote:
>> Commit fbd7740fdfdf9475f switched pseries cpu idle handling from complete idle
>> loops to ppc_md.powersave functions. Earlier to this switch,
>> ppc64_runlatch_off() had to be called in each of the idle routines. But after
>> the switch this call is handled in arch_cpu_idle(),just before the call
>> to ppc_md.powersave, where platform specific idle routines are called.
>>
>> As a consequence, the call to ppc64_runlatch_off() got duplicated in the
>> arch_cpu_idle() routine as well as in the some of the idle routines in
>> pseries and commit fbd7740fdfdf9475f missed to get rid of these redundant
>> calls. These calls were carried over subsequent enhancements to the pseries
>> cpuidle routines. This patch takes care of eliminating this redundancy.
>>
>> Signed-off-by: Preeti U Murthy <preeti at linux.vnet.ibm.com>
>> ---
> 
> Acked-by: Deepthi Dharwar <deepthi at linux.vnet.ibm.com>
> 
> Preeti, I will include this patch as part of the pseries cpuidle driver
> clean-ups series which I have undertaken.

Yes that would be great, thanks!

Regards
Preeti U Murthy
> 
> Regards,
> Deepthi
> 
>>  arch/powerpc/platforms/pseries/processor_idle.c |    3 ---
>>  1 file changed, 3 deletions(-)
>>
>> diff --git a/arch/powerpc/platforms/pseries/processor_idle.c b/arch/powerpc/platforms/pseries/processor_idle.c
>> index a166e38..09e4f56 100644
>> --- a/arch/powerpc/platforms/pseries/processor_idle.c
>> +++ b/arch/powerpc/platforms/pseries/processor_idle.c
>> @@ -17,7 +17,6 @@
>>  #include <asm/reg.h>
>>  #include <asm/machdep.h>
>>  #include <asm/firmware.h>
>> -#include <asm/runlatch.h>
>>  #include <asm/plpar_wrappers.h>
>>
>>  struct cpuidle_driver pseries_idle_driver = {
>> @@ -63,7 +62,6 @@ static int snooze_loop(struct cpuidle_device *dev,
>>  	set_thread_flag(TIF_POLLING_NRFLAG);
>>
>>  	while ((!need_resched()) && cpu_online(cpu)) {
>> -		ppc64_runlatch_off();
>>  		HMT_low();
>>  		HMT_very_low();
>>  	}
>> @@ -103,7 +101,6 @@ static int dedicated_cede_loop(struct cpuidle_device *dev,
>>  	idle_loop_prolog(&in_purr);
>>  	get_lppaca()->donate_dedicated_cpu = 1;
>>
>> -	ppc64_runlatch_off();
>>  	HMT_medium();
>>  	check_and_cede_processor();
>>
>>
>> _______________________________________________
>> Linuxppc-dev mailing list
>> Linuxppc-dev at lists.ozlabs.org
>> https://lists.ozlabs.org/listinfo/linuxppc-dev
>>
> 



More information about the Linuxppc-dev mailing list