On Tue, 15 Feb 2005, Michael Neuhauser wrote:

> No, as the mask_ack() call in Linux' do_IRQ() is modified like this:
>
>         #ifdef CONFIG_ADEOS_CORE
>             if (!adp_pipelined)
>         #endif /* CONFIG_ADEOS_CORE */
>               desc->mask_ack(irq);
>
> i.e. don't do it if pipelining is active.

We have hardware, with an additional IC, behind which only Linux (no
real-time) interrupt sources are located. So, logically, you don't need to
register this IC's interrupt to the CPU as a rt-interrupt. Then you can
directly call (asm_)do_IRQ(new_irq) from it, bypassing all rt (adeos) to
reduce latency. But with the above mask_ack it is impossible, because then
it will never be called...

Also, I am somewhat suspicious about not calling unmask in rt. It looks
wrong to have to touch IC in ISR...

Thanks
Guennadi
---------------------------------
Guennadi Liakhovetski, Ph.D.
DSA Daten- und Systemtechnik GmbH
Pascalstr. 28
D-52076 Aachen
Germany

Reply via email to