It being static causes over a dozen instances to be scattered across
the kernel image, with non of them ever being referenced in any way.
Making the variable extern without ever defining it works as well - all
we need is to have the compiler think the variable is being accessed.

Signed-off-by: Jan Beulich <jbeul...@suse.com>

---
 arch/x86/include/asm/special_insns.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- 3.10-rc3/arch/x86/include/asm/special_insns.h
+++ 3.10-rc3-x86-force-order/arch/x86/include/asm/special_insns.h
@@ -16,7 +16,7 @@ static inline void native_clts(void)
  * all loads stores around it, which can hurt performance. Solution is to
  * use a variable and mimic reads and writes to it to enforce serialization
  */
-static unsigned long __force_order;
+extern unsigned long __force_order;
 
 static inline unsigned long native_read_cr0(void)
 {



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

Reply via email to