[tip:x86/asm] x86: __force_order doesn't need to be an actual variable

From: tip-bot for Jan Beulich
Date: Fri May 31 2013 - 08:49:20 EST


Commit-ID: 1d10f6ee602ec5a4bd0c1606ba5f38277da432e1
Gitweb: http://git.kernel.org/tip/1d10f6ee602ec5a4bd0c1606ba5f38277da432e1
Author: Jan Beulich <JBeulich@xxxxxxxx>
AuthorDate: Wed, 29 May 2013 13:29:12 +0100
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitDate: Fri, 31 May 2013 13:09:17 +0200

x86: __force_order doesn't need to be an actual variable

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 <jbeulich@xxxxxxxx>
Link: http://lkml.kernel.org/r/51A610B802000078000D99A0@xxxxxxxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
arch/x86/include/asm/special_insns.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/special_insns.h b/arch/x86/include/asm/special_insns.h
index 41fc93a..2f4d924 100644
--- a/arch/x86/include/asm/special_insns.h
+++ b/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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/