APPLIED: [Utopic][SRU][PATCH] powerpc/powernv: Ignore smt-enabled on Power8 and later

Brad Figg brad.figg at canonical.com
Wed Jan 7 20:28:33 UTC 2015


On Tue, Jan 06, 2015 at 02:23:32PM -0600, Chris J Arges wrote:
> From: Greg Kurz <gkurz at linux.vnet.ibm.com>
> 
> BugLink: http://bugs.launchpad.net/bugs/1402141
> 
> Starting with POWER8, the subcore logic relies on all threads of a core
> being booted so that they can participate in split mode switches. So on
> those machines we ignore the smt_enabled_at_boot setting (smt-enabled on
> the kernel command line).
> 
> Signed-off-by: Greg Kurz <gkurz at linux.vnet.ibm.com>
> [mpe: Update comment and change log to be more precise]
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
> 
> (cherry picked from commit d70a54e2d08510a99b1f10eceeae6f2f7086e226)
> Signed-off-by: Chris J Arges <chris.j.arges at canonical.com>
> ---
>  arch/powerpc/platforms/powernv/smp.c | 16 +++++++++++++++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/platforms/powernv/smp.c b/arch/powerpc/platforms/powernv/smp.c
> index 5fcfcf4..b4b8103 100644
> --- a/arch/powerpc/platforms/powernv/smp.c
> +++ b/arch/powerpc/platforms/powernv/smp.c
> @@ -185,13 +185,27 @@ static void pnv_smp_cpu_kill_self(void)
>  
>  #endif /* CONFIG_HOTPLUG_CPU */
>  
> +static int pnv_cpu_bootable(unsigned int nr)
> +{
> +	/*
> +	 * Starting with POWER8, the subcore logic relies on all threads of a
> +	 * core being booted so that they can participate in split mode
> +	 * switches. So on those machines we ignore the smt_enabled_at_boot
> +	 * setting (smt-enabled on the kernel command line).
> +	 */
> +	if (cpu_has_feature(CPU_FTR_ARCH_207S))
> +		return 1;
> +
> +	return smp_generic_cpu_bootable(nr);
> +}
> +
>  static struct smp_ops_t pnv_smp_ops = {
>  	.message_pass	= smp_muxed_ipi_message_pass,
>  	.cause_ipi	= NULL,	/* Filled at runtime by xics_smp_probe() */
>  	.probe		= xics_smp_probe,
>  	.kick_cpu	= pnv_smp_kick_cpu,
>  	.setup_cpu	= pnv_smp_setup_cpu,
> -	.cpu_bootable	= smp_generic_cpu_bootable,
> +	.cpu_bootable	= pnv_cpu_bootable,
>  #ifdef CONFIG_HOTPLUG_CPU
>  	.cpu_disable	= pnv_smp_cpu_disable,
>  	.cpu_die	= generic_cpu_die,
> -- 
> 1.9.1
> 
> 
> -- 
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team

Applied to Utopic master-next

-- 
Brad Figg brad.figg at canonical.com http://www.canonical.com




More information about the kernel-team mailing list