This old piece of code is supposed to measure the performance of indirect
calls to determine if the processor is buggy or not, however the compiler
optimizer turns it into a direct call.

Use the macro OPTIMIZER_HIDE_VAR to thwart the optimization, so that real 
indirect call is generated.

Signed-off-by: Mikulas Patocka <mpato...@redhat.com>

---
 arch/x86/kernel/cpu/amd.c |    1 +
 1 file changed, 1 insertion(+)

Index: linux-2.6/arch/x86/kernel/cpu/amd.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/cpu/amd.c
+++ linux-2.6/arch/x86/kernel/cpu/amd.c
@@ -134,6 +134,7 @@ static void init_amd_k6(struct cpuinfo_x
 
                n = K6_BUG_LOOP;
                f_vide = vide;
+               OPTIMIZER_HIDE_VAR(f_vide);
                d = rdtsc();
                while (n--)
                        f_vide();

Reply via email to