mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH RT] add pending in fasteoi for IOAPIC hack
@ 2007-12-12 20:41 Steven Rostedt
  2007-12-13  3:35 ` Jon Masters
  0 siblings, 1 reply; 2+ messages in thread
From: Steven Rostedt @ 2007-12-12 20:41 UTC (permalink / raw)
  To: LKML, linux-rt-users; +Cc: Ingo Molnar, Thomas Gleixner


The IOAPIC hack that does a level=>edge to mask does not disable
interrupts. So we can receive interrupts when masked, and this means
that we can miss interrupts that arrive when the thread is handling
them.

This patch adds the "IRQ_PENDING" logic of the edge irqs to be
able to catch interrupts coming in when supposably "masked".

Signed-off-by: Steven Rostedt <srostedt@redhat.com>

Index: linux-2.6.21-rt-hack/kernel/irq/chip.c
===================================================================
--- linux-2.6.21-rt-hack.orig/kernel/irq/chip.c
+++ linux-2.6.21-rt-hack/kernel/irq/chip.c
@@ -398,8 +398,10 @@ handle_fasteoi_irq(unsigned int irq, str

 	spin_lock(&desc->lock);

-	if (unlikely(desc->status & IRQ_INPROGRESS))
+	if (unlikely(desc->status & IRQ_INPROGRESS)) {
+		desc->status |= IRQ_PENDING;
 		goto out;
+	}

 	desc->status &= ~(IRQ_REPLAY | IRQ_WAITING);
 	kstat_cpu(cpu).irqs[irq]++;



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

end of thread, other threads:[~2007-12-13  3:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-12 20:41 [PATCH RT] add pending in fasteoi for IOAPIC hack Steven Rostedt
2007-12-13  3:35 ` Jon Masters

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

all inboxes | Powered by JetHome®