From: Philippe Gerum <rpm@xenomai.org>
To: Jan Kiszka <jan.kiszka@domain.hid>
Cc: xenomai-help <xenomai@xenomai.org>,
"M. Koehrer" <mathias_koehrer@domain.hid>
Subject: Re: [Xenomai-help] Sporadic PC freeze after rt_task_start
Date: Thu, 19 Jul 2007 14:19:09 +0200 [thread overview]
Message-ID: <1184847549.28303.46.camel@domain.hid> (raw)
In-Reply-To: <469F4A98.3080307@domain.hid>
On Thu, 2007-07-19 at 13:27 +0200, Jan Kiszka wrote:
> M. Koehrer wrote:
> > Hi!
> >
> > After a couple of over-night test runs, I finally got an NMI watchdog detected lockup with the sporadic freeze option.
> > I started the system with the argument nmi_watchdog=1 (also isolcpus=1).
> > See the code below. As I have not connected a serial console, I have attached a screen shot in a fairly
> > bad quality as jpg file... However, it is good enough to be able to read everything...
> > The lockup is in function rpi_pop [xeno_nucleus].
> > It is called from gatekeeper_thread and from default_wake_function.
> > See the attached jpg for details.
>
> Looks like we are stuck on rpilock, Philippe.
>
Seems likely, yes. Switching the nucleus DEBUG option would engage the
lockup detector, and pull the brake whenever the nucleus fails to grab
the rpilock.
Mathias, I guess this test has not been run with the nucleus debug
option enabled. Any chance to get a disassembly of the rpi_pop routine
as compiled into your kernel, so that we could check if we are really
stuck on this lock, or rather on some infinite walk into a corrupted RPI
list?
> And when looking at the holders of rpilock, I think one issue could be
> that we hold that lock while calling into xnpod_renice_root [1], ie.
> doing a potential context switch. Was this checked to be save?
xnpod_renice_root() does no reschedule immediately on purpose, we would
never have been able to run any SMP config more than a couple of seconds
otherwise. (See the NOSWITCH bit).
> Furthermore, that code path reveals that we take nklock nested into
> rpilock [2]. I haven't found a spot for the other way around (and I hope
> there is none)
xnshadow_start().
> , but such nesting is already evil per se...
Well, nesting spinlocks only falls into evilness when you get a circular
graph, but since the rpilock is a rookie in the locking team, I'm going
to check this.
Ok, I'm tackling this lockup issue now. I first need to reproduce it.
More news later.
>
> Mathias, already tried your test case with our old friend "priority
> coupling" switched off? *If* this lock-up is actually due to rpilock
> brokenness, switching the feature off should make it disappear.
>
It would be nice to switch on the nucleus DEBUG feature, especially the
queue debugging one. I understand this may hide the bug due to the
alteration of timings, but still, it would be useful to know whether a
configuration without NMI but with such debug knob on would trigger the
alarm.
> Jan
>
>
> [1]http://www.rts.uni-hannover.de/xenomai/lxr/source/ksrc/nucleus/shadow.c?v=SVN-trunk#435
> [2]http://www.rts.uni-hannover.de/xenomai/lxr/source/include/nucleus/pod.h?v=SVN-trunk#308
>
--
Philippe.
next prev parent reply other threads:[~2007-07-19 12:19 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-10 8:00 [Xenomai-help] Sporadic PC freeze after rt_task_start M. Koehrer
2007-07-10 8:40 ` Jan Kiszka
2007-07-10 12:29 ` M. Koehrer
2007-07-10 12:41 ` Jan Kiszka
2007-07-10 14:40 ` M. Koehrer
2007-07-10 15:34 ` Jan Kiszka
2007-07-11 6:43 ` M. Koehrer
2007-07-11 7:32 ` Jan Kiszka
2007-07-11 12:45 ` M. Koehrer
2007-07-11 14:47 ` Jan Kiszka
2007-07-13 7:27 ` M. Koehrer
2007-07-13 8:26 ` Jan Kiszka
2007-07-16 7:07 ` M. Koehrer
2007-07-16 22:42 ` Jan Kiszka
2007-07-19 10:58 ` M. Koehrer
2007-07-19 11:27 ` Jan Kiszka
2007-07-19 12:19 ` Philippe Gerum [this message]
2007-07-19 12:40 ` Jan Kiszka
2007-07-19 13:55 ` [Xenomai-core] " Philippe Gerum
2007-07-19 15:14 ` Philippe Gerum
2007-07-19 15:35 ` Jan Kiszka
2007-07-19 16:03 ` Philippe Gerum
2007-07-19 17:18 ` Jan Kiszka
2007-07-19 18:24 ` Philippe Gerum
2007-07-19 20:15 ` Jan Kiszka
2007-07-19 21:35 ` Philippe Gerum
2007-07-20 14:20 ` Jan Kiszka
2007-07-20 18:33 ` Philippe Gerum
2007-07-21 8:49 ` Philippe Gerum
2007-07-22 16:44 ` Jan Kiszka
2007-07-19 17:57 ` Jan Kiszka
2007-07-21 20:15 ` Philippe Gerum
2007-07-20 7:03 ` M. Koehrer
-- strict thread matches above, loose matches on Subject: below --
2007-07-19 13:27 M. Koehrer
2007-07-19 13:42 ` Philippe Gerum
2007-07-19 13:52 ` M. Koehrer
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=1184847549.28303.46.camel@domain.hid \
--to=rpm@xenomai.org \
--cc=jan.kiszka@domain.hid \
--cc=mathias_koehrer@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.