public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86_64 add missing enter_idle() calls
@ 2006-10-06  8:16 Stephane Eranian
  2006-10-16 10:08 ` Andi Kleen
  0 siblings, 1 reply; 11+ messages in thread
From: Stephane Eranian @ 2006-10-06  8:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: ak, Stephane Eranian

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@hpl.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();
 }
 

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2006-10-27 16:04 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-06  8:16 [PATCH] x86_64 add missing enter_idle() calls Stephane Eranian
2006-10-16 10:08 ` Andi Kleen
2006-10-16 14:13   ` Stephane Eranian
2006-10-16 14:36     ` Andi Kleen
2006-10-16 14:44       ` Stephane Eranian
2006-10-17 16:47       ` Stephane Eranian
2006-10-21  9:18       ` Stephane Eranian
2006-10-21 13:22         ` Andi Kleen
2006-10-24 10:00           ` Stephane Eranian
2006-10-25 21:29           ` Stephane Eranian
2006-10-27 16:03             ` Andi Kleen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox