aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/apic.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-26 12:21:46 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-26 12:21:46 -0500
commitea3d5226f52ef30f52aa0a04f47f5919c7facacf (patch)
tree090a48a6f6b2934d32a641ec6e61b3dc59a48514 /arch/i386/kernel/apic.c
parent9654640d0af8f2de40ff3807d3695109d3463f54 (diff)
Revert "[PATCH] i386: add idle notifier"
This reverts commit 2ff2d3d74705d34ab71b21f54634fcf50d57bdd5. Uwe Bugla reports that he cannot mount a floppy drive any more, and Jiri Slaby bisected it down to this commit. Benjamin LaHaise also points out that this is a big hot-path, and that interrupt delivery while idle is very common and should not go through all these expensive gyrations. Fix up conflicts in arch/i386/kernel/apic.c and arch/i386/kernel/irq.c due to other unrelated irq changes. Cc: Stephane Eranian <eranian@hpl.hp.com> Cc: Andi Kleen <ak@suse.de> Cc: Andrew Morton <akpm@osdl.org> Cc: Uwe Bugla <uwe.bugla@gmx.de> Cc: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/i386/kernel/apic.c')
-rw-r--r--arch/i386/kernel/apic.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/arch/i386/kernel/apic.c b/arch/i386/kernel/apic.c
index 9655c233e6f1..7a2c9cbdb511 100644
--- a/arch/i386/kernel/apic.c
+++ b/arch/i386/kernel/apic.c
@@ -38,7 +38,6 @@
38#include <asm/hpet.h> 38#include <asm/hpet.h>
39#include <asm/i8253.h> 39#include <asm/i8253.h>
40#include <asm/nmi.h> 40#include <asm/nmi.h>
41#include <asm/idle.h>
42 41
43#include <mach_apic.h> 42#include <mach_apic.h>
44#include <mach_apicdef.h> 43#include <mach_apicdef.h>
@@ -561,7 +560,6 @@ void fastcall smp_apic_timer_interrupt(struct pt_regs *regs)
561 * Besides, if we don't timer interrupts ignore the global 560 * Besides, if we don't timer interrupts ignore the global
562 * interrupt lock, which is the WrongThing (tm) to do. 561 * interrupt lock, which is the WrongThing (tm) to do.
563 */ 562 */
564 exit_idle();
565 irq_enter(); 563 irq_enter();
566 local_apic_timer_interrupt(); 564 local_apic_timer_interrupt();
567 irq_exit(); 565 irq_exit();
@@ -1221,7 +1219,6 @@ void smp_spurious_interrupt(struct pt_regs *regs)
1221{ 1219{
1222 unsigned long v; 1220 unsigned long v;
1223 1221
1224 exit_idle();
1225 irq_enter(); 1222 irq_enter();
1226 /* 1223 /*
1227 * Check if this really is a spurious interrupt and ACK it 1224 * Check if this really is a spurious interrupt and ACK it
@@ -1245,7 +1242,6 @@ void smp_error_interrupt(struct pt_regs *regs)
1245{ 1242{
1246 unsigned long v, v1; 1243 unsigned long v, v1;
1247 1244
1248 exit_idle();
1249 irq_enter(); 1245 irq_enter();
1250 /* First tickle the hardware, only then report what went on. -- REW */ 1246 /* First tickle the hardware, only then report what went on. -- REW */
1251 v = apic_read(APIC_ESR); 1247 v = apic_read(APIC_ESR);