[tip:x86/mrst] x86: Avoid check hlt for newer cpus

From: tip-bot for Jacob Pan
Date: Fri May 07 2010 - 18:19:12 EST


Commit-ID: d081dd5fe0ed8449433b972d3080f9d776e9424b
Gitweb: http://git.kernel.org/tip/d081dd5fe0ed8449433b972d3080f9d776e9424b
Author: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
AuthorDate: Fri, 7 May 2010 14:59:45 -0700
Committer: H. Peter Anvin <hpa@xxxxxxxxx>
CommitDate: Fri, 7 May 2010 15:15:47 -0700

x86: Avoid check hlt for newer cpus

Check hlt instruction was targeted for some older CPUs. It is an expensive
operation in that it takes 4 ticks to break out the check. We can avoid
such check completely for newer x86 cpus (family >= 5).

[ hpa: corrected family > 5 to family >= 5 ]

Signed-off-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
LKML-Reference: <1273269585-14346-1-git-send-email-jacob.jun.pan@xxxxxxxxxxxxxxx>
Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx>
---
arch/x86/kernel/cpu/bugs.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index 01a2652..38f20e8 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -86,7 +86,7 @@ static void __init check_fpu(void)

static void __init check_hlt(void)
{
- if (paravirt_enabled())
+ if (boot_cpu_data >= 5 || paravirt_enabled())
return;

printk(KERN_INFO "Checking 'hlt' instruction... ");
--
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/