We have some doubts about how the things work between i-pipe & xenomai regarding the timer.


1-  First, when Xenomai is registered, the 10ms timer of Linux is stolen by the Xenomai domain. How

is the 10ms timer preserved? is it registered as a timer by the pod ?


2-       When a timer IRQ is received, we understood that the IRQ is ack'd and masked by handle_irq() and sent to the domains

through walk_pipeline() including Linux; but we have some doubts about that since the timer ISR of Linux first acknowledges the interrupt, and

it seems that it acknowledges physically (hw ack); we expected that the acknowledgement would be a virtual ack in the Linux domain since the ack

has been made previously by handle_irq(). In our case (ARM arch), the ack actually corresponds to a mask and therefore the timer IRQ is masked

by Linux once it gets,  and we then suspect some loss of timer interrupts.

have we understood correctly the mechanism? Any idea about this behaviour? Is it normal?


Thanks in advance






Xenomai-core mailing list

Reply via email to