All of lore.kernel.org
 help / color / mirror / Atom feed
* [Adeos-main] ipipe_suspend_domain() not scheduling IRQ threads
@ 2007-11-26 16:26 Peter SchueŸller
  0 siblings, 0 replies; only message in thread
From: Peter SchueŸller @ 2007-11-26 16:26 UTC (permalink / raw)
  To: adeos-main

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?
- 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] only message in thread

only message in thread, other threads:[~2007-11-26 16:26 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-26 16:26 [Adeos-main] ipipe_suspend_domain() not scheduling IRQ threads Peter SchueŸller

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.