public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH -tip] x86: do_IRQ - send EOI for x86-32 on irq without handler
@ 2009-04-03 18:57 Cyrill Gorcunov
  2009-04-08 13:02 ` Ingo Molnar
  0 siblings, 1 reply; 4+ messages in thread
From: Cyrill Gorcunov @ 2009-04-03 18:57 UTC (permalink / raw)
  To: Ingo Molnar, Thomas Gleixner, H. Peter Anvin; +Cc: LKML, Suresh Siddha

For X86-32 if IRQ has no handler it remains non-Ack'ed
even if APIC is not requested for being disabled.
Fix it.

Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
CC: Suresh Siddha <suresh.b.siddha@intel.com>
---
 arch/x86/kernel/irq.c |    2 --
 1 file changed, 2 deletions(-)

Index: linux-2.6.git/arch/x86/kernel/irq.c
===================================================================
--- linux-2.6.git.orig/arch/x86/kernel/irq.c
+++ linux-2.6.git/arch/x86/kernel/irq.c
@@ -218,10 +218,8 @@ unsigned int __irq_entry do_IRQ(struct p
 	irq = __get_cpu_var(vector_irq)[vector];
 
 	if (!handle_irq(irq, regs)) {
-#ifdef CONFIG_X86_64
 		if (!disable_apic)
 			ack_APIC_irq();
-#endif
 
 		if (printk_ratelimit())
 			printk(KERN_EMERG "%s: %d.%d No irq handler for vector (irq %d)\n",

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

* Re: [PATCH -tip] x86: do_IRQ - send EOI for x86-32 on irq without handler
  2009-04-03 18:57 [PATCH -tip] x86: do_IRQ - send EOI for x86-32 on irq without handler Cyrill Gorcunov
@ 2009-04-08 13:02 ` Ingo Molnar
  2009-04-08 13:25   ` Ingo Molnar
  0 siblings, 1 reply; 4+ messages in thread
From: Ingo Molnar @ 2009-04-08 13:02 UTC (permalink / raw)
  To: Cyrill Gorcunov, Yinghai Lu
  Cc: Thomas Gleixner, H. Peter Anvin, LKML, Suresh Siddha


* Cyrill Gorcunov <gorcunov@openvz.org> wrote:

> For X86-32 if IRQ has no handler it remains non-Ack'ed
> even if APIC is not requested for being disabled.
> Fix it.

nice fix. Did you observe any real hangs in such a situation, or is 
this via code review?

	Ingo

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

* Re: [PATCH -tip] x86: do_IRQ - send EOI for x86-32 on irq without handler
  2009-04-08 13:02 ` Ingo Molnar
@ 2009-04-08 13:25   ` Ingo Molnar
  2009-04-08 13:57     ` Cyrill Gorcunov
  0 siblings, 1 reply; 4+ messages in thread
From: Ingo Molnar @ 2009-04-08 13:25 UTC (permalink / raw)
  To: Cyrill Gorcunov, Yinghai Lu
  Cc: Thomas Gleixner, H. Peter Anvin, LKML, Suresh Siddha


* Ingo Molnar <mingo@elte.hu> wrote:

> 
> * Cyrill Gorcunov <gorcunov@openvz.org> wrote:
> 
> > For X86-32 if IRQ has no handler it remains non-Ack'ed
> > even if APIC is not requested for being disabled.
> > Fix it.
> 
> nice fix. Did you observe any real hangs in such a situation, or is 
> this via code review?

more stuff needs fixing here first:

arch/x86/kernel/irq.c: In function ‘do_IRQ’:
arch/x86/kernel/irq.c:226: error: ‘disable_apic’ undeclared (first use in this function)
arch/x86/kernel/irq.c:226: error: (Each undeclared identifier is reported only once
arch/x86/kernel/irq.c:226: error: for each function it appears in.)

like making 'disable_apic' available everywhere.

Or better yet: introduce a dummy apic->write() method in the 
disable_apic=1 case so we can call a straight ack_APIC_irq().

	Ingo

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

* Re: [PATCH -tip] x86: do_IRQ - send EOI for x86-32 on irq without handler
  2009-04-08 13:25   ` Ingo Molnar
@ 2009-04-08 13:57     ` Cyrill Gorcunov
  0 siblings, 0 replies; 4+ messages in thread
From: Cyrill Gorcunov @ 2009-04-08 13:57 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Yinghai Lu, Thomas Gleixner, H. Peter Anvin, LKML, Suresh Siddha

[Ingo Molnar - Wed, Apr 08, 2009 at 03:25:58PM +0200]
| 
| * Ingo Molnar <mingo@elte.hu> wrote:
| 
| > 
| > * Cyrill Gorcunov <gorcunov@openvz.org> wrote:
| > 
| > > For X86-32 if IRQ has no handler it remains non-Ack'ed
| > > even if APIC is not requested for being disabled.
| > > Fix it.
| > 
| > nice fix. Did you observe any real hangs in such a situation, or is 
| > this via code review?

Code review

| 
| more stuff needs fixing here first:
| 
| arch/x86/kernel/irq.c: In function ‘do_IRQ’:
| arch/x86/kernel/irq.c:226: error: ‘disable_apic’ undeclared (first use in this function)
| arch/x86/kernel/irq.c:226: error: (Each undeclared identifier is reported only once
| arch/x86/kernel/irq.c:226: error: for each function it appears in.)
| 
| like making 'disable_apic' available everywhere.
| 
| Or better yet: introduce a dummy apic->write() method in the 
| disable_apic=1 case so we can call a straight ack_APIC_irq().
| 
| 	Ingo
| 

Ugh! Thanks Ingo! Will check and fix!

        Cyrill

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

end of thread, other threads:[~2009-04-08 13:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-03 18:57 [PATCH -tip] x86: do_IRQ - send EOI for x86-32 on irq without handler Cyrill Gorcunov
2009-04-08 13:02 ` Ingo Molnar
2009-04-08 13:25   ` Ingo Molnar
2009-04-08 13:57     ` Cyrill Gorcunov

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