Tomas Kalibera wrote:
>
> Gilles Chanteperdrix wrote:
> > Tomas Kalibera wrote:
> > >
> > > Hi,
> > >
> > > I've noticed an interesting difference regarding primary and secondary
> > > domain runaway tasks. The primary domain ones are detected by Xenomai
> > > watchdog and terminated. The secondary domain ones are not terminated,
> > > but cause a system lockup, because a secondary domain task is always
> > run
> > > in preference of other tasks (kernel complains by BUG: soft lockup -
> > > CPU#0 stuck for 11s!). Would there be a way to also detect the
> > secondary
> > > domain runaway threads ? Since the kernel itself can do it, it should
> > be
> > > possible, right ?
> >
> > Yes, but if the Linux kernel does it, why would Xenomai reinvent the wheel
> > ?
> >
> Because the wheels behave differently. Xenomai watchdog kills the app
> after 4 seconds, kernel just writes a message. This is not nice for
> debugging large Xenomai applications. You add a debug printf somewhere
> and it makes the system freeze because it switches to secondary domain.
> And when the application just does not have full control over when it
> runs in primary or secondary domain (i.e. a JVM), this is somewhat
> painful.
I would say the best thing to do then, is to patch the Linux soft-lockup
detector. It will probably be much easier than re-implemeting the whole
thing in Xenomai. And it may even be useful to other people not using
Xenomai.
> > >
> > > Now, I've discovered that if I assign the secondary domain task
> > priority
> > > 0, it would not lock up the system. 1 would, 99 would as well. What is
> > > the semantics ? Any secondary domain task with priority above zero runs
> > > in preference of any (non-Xenomai) Linux thread ?
> >
> > This is not related to Xenomai, that is the semantic of SCHED_FIFO, also
> > called fixed priority scheduling.
> >
> Thank you for explaining this. It would be nice if the Xenomai API
> documentation could say that the priorities are directly mapped to Linux
> priorities and that SCHED_FIFO is used.
I think it is explained in the articles "Life with Adeos" and "Native API
tour".
--
Gilles.
_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help