Messages in this thread | | | Date | Wed, 29 Jun 2005 08:34:39 +0200 | From | Ingo Molnar <> | Subject | Re: Real-Time Preemption, -RT-2.6.12-final-V0.7.50-24 |
| |
* Karsten Wiese <annabellesgarden@yahoo.de> wrote:
> looked at -50-33 now and wonder why is mask_IO_APIC_irq() called twice > from __do_IRQ()? given a threaded interrupt: __do_IRQ() calls > desc->handler->ack(irq). ack points to > mask_and_ack_level_ioapic_irq(), which calls mask_IO_APIC_irq(irq). > some lines later in __do_IRQ() desc->handler->disable(irq) is called. > disable points to mask_IO_APIC_irq(), now being called a 2nd time. I > think this 2nd call isn't necessary. Is there a difference between > masking an interrupt line and disabling it? What am I missing?
you are not missing anything - but i found no easy way for the time being to get rid of the second masking.
> Back at 2.6.12-rc5-RT-48-16 mask_and_ack_level_ioapic_irq() also > contained the mask_IO_APIC_irq(irq) call and level interrupt-rates > where fine. Some versions later it vanished there. Why was that?
i reorganized how redirection is being done, and i've implemented auto-ACK for the i8259A, to reduce IRQ handling costs. One goal was to avoid the masking of the interrupt line for the timer interrupt on i8259A - but i think i'm going to revert that, it's causing too many problems all around.
Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |