* Karsten Wiese <[email protected]> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]