x86: remove extra barriers from load_gs_base()
authorBrian Gerst <brgerst@gmail.com>
Tue, 27 Jan 2009 03:56:48 +0000 (12:56 +0900)
committerTejun Heo <tj@kernel.org>
Tue, 27 Jan 2009 03:56:48 +0000 (12:56 +0900)
Impact: optimization

mb() generates an mfence instruction, which is not needed here.  Only
a compiler barrier is needed, and that is handled by the memory clobber
in the wrmsrl function.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
arch/x86/include/asm/processor.h

index 32c30b02b51febd1d4df5c9d9dff792e95ea627d..794234eba31771b33215d2532756d6fca65cd1ba 100644 (file)
@@ -397,10 +397,7 @@ DECLARE_PER_CPU(char *, irq_stack_ptr);
 
 static inline void load_gs_base(int cpu)
 {
-       /* Memory clobbers used to order pda/percpu accesses */
-       mb();
        wrmsrl(MSR_GS_BASE, (unsigned long)per_cpu(irq_stack_union.gs_base, cpu));
-       mb();
 }
 #endif