Re: [PATCH] arm64: secondary_start_kernel: Remove unnecessary barrier

From: Mark Rutland
Date: Tue May 10 2016 - 06:34:18 EST


On Tue, May 10, 2016 at 11:14:41AM +0100, Suzuki K Poulose wrote:
> Remove the unnecessary smp_wmb(), which was added to make sure
> that the update_cpu_boot_status() completes before we mark the
> CPU online. But update_cpu_boot_status() already has dsb() (required
> for the failing CPUs) to ensure the correct behavior.
>
> Cc: Will Deacon <will.deacon@xxxxxxx>
> Cc: Mark Rutland <mark.rutland@xxxxxxx>
> Cc: Dennis Chen <dennis.chen@xxxxxxx>
> Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@xxxxxxx>

Acked-by: Mark Rutland <mark.rutland@xxxxxxx>

Mark.

> ---
> arch/arm64/kernel/smp.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
> index b2d5f4e..ec040a8 100644
> --- a/arch/arm64/kernel/smp.c
> +++ b/arch/arm64/kernel/smp.c
> @@ -225,8 +225,6 @@ asmlinkage void secondary_start_kernel(void)
> pr_info("CPU%u: Booted secondary processor [%08x]\n",
> cpu, read_cpuid_id());
> update_cpu_boot_status(CPU_BOOT_SUCCESS);
> - /* Make sure the status update is visible before we complete */
> - smp_wmb();
> set_cpu_online(cpu, true);
> complete(&cpu_running);
>
> --
> 1.7.9.5
>