All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-core] ipipe_suspend_domain() not scheduling IRQ threads
@ 2007-11-28 15:37 Peter SchueŸller
  2007-11-28 16:45 ` Philippe Gerum
  0 siblings, 1 reply; 4+ messages in thread
From: Peter SchueŸller @ 2007-11-28 15:37 UTC (permalink / raw)
  To: xenomai

Hi!

I am currently trying to port IPIPE to a new architecture and have the following symptoms with my
first testcase:

- I am using a 2.6.23 Kernel and mainly looked at blackfin and i386 when porting.
- I create a domain with priority IPIPE_ROOT_PRIO+100 in a kernel module
- The domain entry does only: for(;;) ipipe_suspend_domain();
- After registering the domain I get the message "I-pipe: Domain Module Testdomain registered." and
after that the system hangs.

I traced the problem a bit and found out that

- ipipe_suspend_domain() always returns to the test domain with the highest priority.
- Within ipipe_suspend_domain() the function __ipipe_sync_stage() gets called for the root domain
and calls __ipipe_run_isr for
   irq 1 (Linux Timer Tick)
   irq 2 (network - the whole thing runs from NFS)
   irq 32 (there are 32 hardware interrupts, the last one is irq 31, this must be a virtual irq)

I think the problem is that the IRQ threads do not get scheduled and so cannot handle the
Interrupts, although they have been "kicked" by __ipipe_run_isr.

It would be very kind if you could help me with the following questions:

- Are some of my assumptions/ideas above completely wrong?
- Should I read some documentation to get help? (I only found the porting guide and some other 
guides which did not help me answer the following questions)
- Which part of the code should schedule the IRQ threads? (__ipipe_run_isr only "kicks" them afaik)
- Where should ipipe_suspend_domain() hand control over to another domain (i.e. schedule in the
other domain because the higher priority domain has suspended itself)?
- Should I handle the Linux System timer differently from the other interrupts so that it is not
subject to IRQ threading?

Best Regards,

Peter

-- 

Peter Schüller
Theobroma Systems Design und Consulting GmbH
Gutheil-Schoder-Gasse 17, A-1230 Vienna, Austria
Phone: +43 (1) 2369893-403, Fax: +43 (1) 2369893-9-403
http://www.theobroma-systems.com



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

end of thread, other threads:[~2007-12-13 18:48 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-28 15:37 [Xenomai-core] ipipe_suspend_domain() not scheduling IRQ threads Peter SchueŸller
2007-11-28 16:45 ` Philippe Gerum
2007-12-05 12:20   ` Peter SchueŸller
2007-12-13 18:48   ` Peter Schueller

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.