On 02/06/2012 04:26 PM, David Daney wrote:On 02/06/2012 12:42 PM, Venkatesh Pallipadi wrote:
[...]
index 5bed94e..6a56cb0 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -170,6 +170,11 @@ config GENERIC_TIME_VSYSCALL
bool
default X86_64
+config AVOID_IPI_ON_IDLE
+ bool
+ depends on X86_64
+ default X86_64
+
Can you get rid of this part...
config ARCH_HAS_CPU_RELAX[...]
def_bool y
diff --git a/arch/x86/kernel/acpi/cstate.c
b/arch/x86/kernel/acpi/cstate.c
index f50e7fb..340c4e9 100644
--- a/arch/x86/kernel/acpi/cstate.c
+++ b/arch/x86/kernel/acpi/cstate.c
@@ -161,6 +161,14 @@ EXPORT_SYMBOL_GPL(acpi_processor_ffh_cstate_probe);
*/
void mwait_idle_with_hints(unsigned long ax, unsigned long cx)
{
+#ifdef CONFIG_AVOID_IPI_ON_IDLE
... and change all of these to #ifdef CONFIG_64BIT
+ int oldval, cpu = smp_processor_id();
+
Why should this be 64-bit specific??