On 2012-09-17 20:08, Gilles Chanteperdrix wrote: > On 09/17/2012 08:05 PM, Jan Kiszka wrote: > >> On 2012-09-17 19:46, Gilles Chanteperdrix wrote: >>> ipipe_end is a nop when called from primary domain, yes, but this is not >>> very different from edge irqs. Also, fasteoi become a bit like MSI: in >>> the same way as we can not mask MSI from primary domain, we should not >>> mask IO-APIC fasteoi irqs, because the cost is too prohibitive. If we >>> can live with MSI without masking them in primary mode, I guess we can >>> do the same with fasteoi irqs. >> >> MSIs are edge triggered, fasteois are still level-based. They require >> masking at the point you defer them - what we do and what Linux may even >> extend beyond that. If you mask them by raising the task priority, you >> have to keep it raised until Linux finally handled the IRQ. > > > Yes. > >> Or you >> decide to mask it at IO-APIC level again. > > > We do not want that. > >> If you keep the TPR raised, >> you will block more than what Linux wants to block. > > > The point is that if the TPR keeps raised, it means that primary domain > has preempted Linux, so, we want it to keep that way. Otherwise the TPR > gets lowered when Linux has handled the interrupt. > > A week-end of testing made me sure of one thing: it works. I assure you.
Probably, in the absence of IRQF_ONESHOT Linux interrupts. No longer if you face threaded IRQs - I assure you. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux _______________________________________________ Xenomai mailing list Xenomai@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai