[PATCH 1/3] powernv:smp: Add busy-wait loop as fall back for CPU-Hotplug

Nicholas Piggin npiggin at gmail.com
Wed Mar 15 00:30:29 AEDT 2017


On Mon, 13 Mar 2017 11:31:26 +0530
"Gautham R. Shenoy" <ego at linux.vnet.ibm.com> wrote:

> [Changelog written with inputs from svaidy at linux.vnet.ibm.com]
> Signed-off-by: Gautham R. Shenoy <ego at linux.vnet.ibm.com>

Reviewed-by: Nicholas Piggin <npiggin at gmail.com>

> ---
>  arch/powerpc/platforms/powernv/smp.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/platforms/powernv/smp.c b/arch/powerpc/platforms/powernv/smp.c
> index e39e6c4..8d5b99e 100644
> --- a/arch/powerpc/platforms/powernv/smp.c
> +++ b/arch/powerpc/platforms/powernv/smp.c
> @@ -192,8 +192,16 @@ static void pnv_smp_cpu_kill_self(void)
>  		} else if ((idle_states & OPAL_PM_SLEEP_ENABLED) ||
>  			   (idle_states & OPAL_PM_SLEEP_ENABLED_ER1)) {
>  			srr1 = power7_sleep();
> -		} else {
> +		} else if (idle_states & OPAL_PM_NAP_ENABLED) {
>  			srr1 = power7_nap(1);
> +		} else {
> +			/* This is the fallback method. We emulate snooze */
> +			while (!generic_check_cpu_restart(cpu)) {
> +				HMT_low();
> +				HMT_very_low();
> +			}
> +			srr1 = 0;
> +			HMT_medium();
>  		}
>  
>  		ppc64_runlatch_on();



More information about the Linuxppc-dev mailing list