[PATCH v2 08/19] ARC: Mark secondary cpu online only after all HW setup is done

Vineet Gupta Vineet.Gupta1 at synopsys.com
Tue Nov 17 03:17:15 PST 2015


On Saturday 07 November 2015 04:22 PM, Noam Camus wrote:
> From: Noam Camus <noamc at ezchip.com>
> 
> In SMP setup, master loops for each_present_cpu calling cpu_up().
> For ARC it returns as soon as new cpu's status becomes online,
> However secondary may still do HW initializing,
> machine or platform hook level.
> 
> So turn secondary online only after all HW setup is done.
> Signed-off-by: Noam Camus <noamc at ezchip.com>

Acked-by: Vineet Gupta <vgupta at synopsys.com>

> ---
>  arch/arc/kernel/smp.c |   10 +++++-----
>  1 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arc/kernel/smp.c b/arch/arc/kernel/smp.c
> index 0b061a4..bc0e4f6 100644
> --- a/arch/arc/kernel/smp.c
> +++ b/arch/arc/kernel/smp.c
> @@ -126,11 +126,6 @@ void start_kernel_secondary(void)
>  	current->active_mm = mm;
>  	cpumask_set_cpu(cpu, mm_cpumask(mm));
>  
> -	notify_cpu_starting(cpu);
> -	set_cpu_online(cpu, true);
> -
> -	pr_info("## CPU%u LIVE ##: Executing Code...\n", cpu);
> -
>  	/* Some SMP H/w setup - for each cpu */
>  	if (plat_smp_ops.init_per_cpu)
>  		plat_smp_ops.init_per_cpu(cpu);
> @@ -138,6 +133,11 @@ void start_kernel_secondary(void)
>  	if (machine_desc->init_cpu_smp)
>  		machine_desc->init_cpu_smp(cpu);
>  
> +	notify_cpu_starting(cpu);
> +	set_cpu_online(cpu, true);
> +
> +	pr_info("## CPU%u LIVE ##: Executing Code...\n", cpu);
> +
>  	arc_local_timer_setup();
>  
>  	local_irq_enable();
> 




More information about the linux-snps-arc mailing list