Re: Real-Time Preemption, -RT-2.6.12-final-V0.7.50-24

Karsten Wiese
2005-06-28T23:58:48Z

Am Dienstag, 28. Juni 2005 22:30 schrieb Ingo Molnar:
>
> * Ingo Molnar <mingo@elte.hu> wrote:
>
> >
> > * Karsten Wiese <annabellesgarden@yahoo.de> wrote:
> >
> > > Hi Ingo,
> > >
> > > suffering (not really ;-) double-rated IO-APIC level-interrupts I
> > > found the following patch as a solution:
> >
> > thanks. I've applied your patch but also tweaked this area a bit, to
> > make the i8259A PIC work too. I've uploaded the -31 patch with these
> > fixes included.
>
> make that -50-32, had a leftover hack in io_apic.c.
>
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?

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?

Karsten

___________________________________________________________
Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de