From: "Peter Schueller" <peter.schueller@domain.hid>
To: xenomai@xenomai.org
Subject: [Xenomai-core] ipipe_suspend_domain() not scheduling IRQ threads
Date: Wed, 28 Nov 2007 16:37:24 +0100 [thread overview]
Message-ID: <474D8B34.8080502@domain.hid> (raw)
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
next reply other threads:[~2007-11-28 15:37 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-28 15:37 Peter Schueller [this message]
2007-11-28 16:45 ` [Xenomai-core] ipipe_suspend_domain() not scheduling IRQ threads Philippe Gerum
2007-12-05 12:20 ` Peter Schueller
2007-12-13 18:48 ` Peter Schueller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=474D8B34.8080502@domain.hid \
--to=peter.schueller@domain.hid \
--cc=xenomai@xenomai.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.