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
