All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-help] Interrupt propagation question
@ 2008-04-14  0:44 Tomas Kalibera
  2008-04-14  7:26 ` Philippe Gerum
  0 siblings, 1 reply; 5+ messages in thread
From: Tomas Kalibera @ 2008-04-14  0:44 UTC (permalink / raw)
  To: xenomai


Hi,

I'm receiving interrupts in Xenomai user-domain using rt_intr_wait. What 
is the semantics of rt_intr_enable and rt_intr_disable ? And I_NOAUTOENA ?

I used I_NOAUTOENA when calling rt_intr_create. I thought that after 
returning from rt_intr_wait, the interrupt would be disabled before I 
explicitly call rt_intr_enable. However, next call to rt_intr_wait 
happily returned with the next interrupt, as opposed to blocking 
indefinitely. Why ? Does rt_intr_wait automatically re-enable the 
interrupt ?

I tried to intentionally loose interrupts - I called rt_intr_enable 
while handling an interrupt intentionally before making the hardware 
generate next one. Still, the next call to rt_intr_wait did return (the 
interrupt was not lost). How could this happen ? If interrupts are 
logged anyway, what the rt_intr_enable/disable does ?

I read in the API documentation

"Interrupt receipts are logged if they cannot be delivered immediately 
to some interrupt server task, so that a call to rt_intr_wait() 
<http://www.xenomai.org/documentation/branches/v2.4.x/html/api/group__interrupt.html#g222e6a9a681f83b13ed5b51021711f4d> 
might return immediately if an IRQ is already pending on entry of the 
service."

How does Xenomai find out about this ? I mean, if a "interrupt server 
task" is not presently blocked in rt_intr_wait for a particular 
interrupt, how does Xenomai know that a task is actually an "interrupt 
server task" ? When does this association happen ? Does a call to 
rt_intr_create make Xenomai log interrupts for the domain from which 
rt_intr_create was called ?

Thanks !
Tomas







^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-04-15 17:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-14  0:44 [Xenomai-help] Interrupt propagation question Tomas Kalibera
2008-04-14  7:26 ` Philippe Gerum
2008-04-14 17:14   ` Tomas Kalibera
2008-04-14 20:33     ` Philippe Gerum
     [not found]       ` <4803D33B.5050507@domain.hid>
     [not found]         ` <48045AEF.5000005@domain.hid>
2008-04-15 17:08           ` Tomas Kalibera

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.