[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20061006081607.GB8793@frankl.hpl.hp.com>
Date: Fri, 6 Oct 2006 01:16:07 -0700
From: Stephane Eranian <eranian@....hp.com>
To: linux-kernel@...r.kernel.org
Cc: ak@...e.de, Stephane Eranian <eranian@....hp.com>
Subject: [PATCH] x86_64 add missing enter_idle() calls
Hi,
Unless I am mistaken, I think we are missing some calls to enter_idle()
in the x86_64 tree. The following patch adds a bunch of missing
enter_idle() callbacks for some of the "direct" interrupt handlers.
changelog:
- adds missing enter_idle() calls to most of the "direct" interrupt
handlers.
signed-off-by: stephane eranian <eranian@....hp.com>
diff --git a/arch/x86_64/kernel/apic.c b/arch/x86_64/kernel/apic.c
index af4a1c7..74ed3b8 100644
--- a/arch/x86_64/kernel/apic.c
+++ b/arch/x86_64/kernel/apic.c
@@ -1015,6 +1015,7 @@ #if 0
}
#endif
irq_exit();
+ enter_idle();
}
/*
@@ -1047,6 +1048,7 @@ asmlinkage void smp_error_interrupt(void
printk (KERN_DEBUG "APIC error on CPU%d: %02x(%02x)\n",
smp_processor_id(), v , v1);
irq_exit();
+ enter_idle();
}
int disable_apic;
diff --git a/arch/x86_64/kernel/irq.c b/arch/x86_64/kernel/irq.c
index b8a407f..28c73d8 100644
--- a/arch/x86_64/kernel/irq.c
+++ b/arch/x86_64/kernel/irq.c
@@ -127,6 +127,7 @@ #endif
irq_exit();
set_irq_regs(old_regs);
+ enter_idle();
return 1;
}
diff --git a/arch/x86_64/kernel/mce_amd.c b/arch/x86_64/kernel/mce_amd.c
index 883fe74..4b458eb 100644
--- a/arch/x86_64/kernel/mce_amd.c
+++ b/arch/x86_64/kernel/mce_amd.c
@@ -224,6 +224,7 @@ asmlinkage void mce_threshold_interrupt(
}
out:
irq_exit();
+ enter_idle();
}
/*
diff --git a/arch/x86_64/kernel/mce_intel.c b/arch/x86_64/kernel/mce_intel.c
index 6551505..030b1e3 100644
--- a/arch/x86_64/kernel/mce_intel.c
+++ b/arch/x86_64/kernel/mce_intel.c
@@ -27,6 +27,7 @@ asmlinkage void smp_thermal_interrupt(vo
mce_log_therm_throt_event(smp_processor_id(), msr_val);
irq_exit();
+ enter_idle();
}
static void __cpuinit intel_init_thermal(struct cpuinfo_x86 *c)
diff --git a/arch/x86_64/kernel/process.c b/arch/x86_64/kernel/process.c
diff --git a/arch/x86_64/kernel/smp.c b/arch/x86_64/kernel/smp.c
index 4f67697..c1d70e3 100644
--- a/arch/x86_64/kernel/smp.c
+++ b/arch/x86_64/kernel/smp.c
@@ -520,5 +520,6 @@ asmlinkage void smp_call_function_interr
mb();
atomic_inc(&call_data->finished);
}
+ enter_idle();
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists