diff options
author | Brian Gerst <brgerst@gmail.com> | 2009-01-26 22:56:48 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2009-01-26 22:56:48 -0500 |
commit | 1825b8edc2034c012ae48f797d74efd1bd9d4f72 (patch) | |
tree | de6d7d8c53df7dd476583a9158e753a3237ee61b | |
parent | b2d2f4312b117a6cc647c8521e2643a88771f757 (diff) |
x86: remove extra barriers from load_gs_base()
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>
-rw-r--r-- | arch/x86/include/asm/processor.h | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h index 32c30b02b51f..794234eba317 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h | |||
@@ -397,10 +397,7 @@ DECLARE_PER_CPU(char *, irq_stack_ptr); | |||
397 | 397 | ||
398 | static inline void load_gs_base(int cpu) | 398 | static inline void load_gs_base(int cpu) |
399 | { | 399 | { |
400 | /* Memory clobbers used to order pda/percpu accesses */ | ||
401 | mb(); | ||
402 | wrmsrl(MSR_GS_BASE, (unsigned long)per_cpu(irq_stack_union.gs_base, cpu)); | 400 | wrmsrl(MSR_GS_BASE, (unsigned long)per_cpu(irq_stack_union.gs_base, cpu)); |
403 | mb(); | ||
404 | } | 401 | } |
405 | #endif | 402 | #endif |
406 | 403 | ||