Re: [PATCH] x86: Don't copy per_cpu cpuinfo for BSP two times

From: Borislav Petkov
Date: Sat Jan 22 2011 - 06:13:18 EST


On Fri, Jan 21, 2011 at 03:29:54PM -0800, Yinghai Lu wrote:
>
> smp_store_cpu_info(0) will do that.
>
> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
>
> ---
> arch/x86/kernel/smpboot.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> Index: linux-2.6/arch/x86/kernel/smpboot.c
> ===================================================================
> --- linux-2.6.orig/arch/x86/kernel/smpboot.c
> +++ linux-2.6/arch/x86/kernel/smpboot.c
> @@ -1071,13 +1071,13 @@ void __init native_smp_prepare_cpus(unsi
>
> preempt_disable();
> smp_cpu_index_default();
> - memcpy(__this_cpu_ptr(&cpu_info), &boot_cpu_data, sizeof(cpu_info));
> - cpumask_copy(cpu_callin_mask, cpumask_of(0));
> - mb();
> +
> /*
> * Setup boot CPU information
> */
> smp_store_cpu_info(0); /* Final full version of the data */
> + cpumask_copy(cpu_callin_mask, cpumask_of(0));
> + mb();

Question: why do we need the memory barrier there? We're running on the
BSP and long before smp_init() to be all careful about the callin_mask.
It could be there as a left over from the 32 and 64-bit merge, AFAICT
from git history...

Thanks.

--
Regards/Gruss,
Boris.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/