diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-26 12:21:46 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-26 12:21:46 -0500 |
commit | ea3d5226f52ef30f52aa0a04f47f5919c7facacf (patch) | |
tree | 090a48a6f6b2934d32a641ec6e61b3dc59a48514 /arch/i386/kernel/irq.c | |
parent | 9654640d0af8f2de40ff3807d3695109d3463f54 (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/irq.c')
-rw-r--r-- | arch/i386/kernel/irq.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/arch/i386/kernel/irq.c b/arch/i386/kernel/irq.c index 0f2ca590bf23..8db8d514c9c0 100644 --- a/arch/i386/kernel/irq.c +++ b/arch/i386/kernel/irq.c | |||
@@ -18,8 +18,6 @@ | |||
18 | #include <linux/cpu.h> | 18 | #include <linux/cpu.h> |
19 | #include <linux/delay.h> | 19 | #include <linux/delay.h> |
20 | 20 | ||
21 | #include <asm/idle.h> | ||
22 | |||
23 | #include <asm/apic.h> | 21 | #include <asm/apic.h> |
24 | #include <asm/uaccess.h> | 22 | #include <asm/uaccess.h> |
25 | 23 | ||
@@ -77,7 +75,6 @@ fastcall unsigned int do_IRQ(struct pt_regs *regs) | |||
77 | union irq_ctx *curctx, *irqctx; | 75 | union irq_ctx *curctx, *irqctx; |
78 | u32 *isp; | 76 | u32 *isp; |
79 | #endif | 77 | #endif |
80 | exit_idle(); | ||
81 | 78 | ||
82 | if (unlikely((unsigned)irq >= NR_IRQS)) { | 79 | if (unlikely((unsigned)irq >= NR_IRQS)) { |
83 | printk(KERN_EMERG "%s: cannot handle IRQ %d\n", | 80 | printk(KERN_EMERG "%s: cannot handle IRQ %d\n", |