On 03/20/2012 03:43 PM, Philippe Gerum wrote: > On 03/20/2012 03:09 PM, Chris Stone wrote: >> I have a thread which uses a lot of CPU and it is receiving a SIGXCPU: >> Cpu time limit exceeded. Does this message really mean I have exceeded >> some CPU time limit? If so, how do I increase or disable the CPU time >> limit? The code that I am running has been working for quite some time >> under regular Linux and I have just ported it to Xenomai, so I doubt >> there are any infinite loops in it. > > This could be the runaway thread detector triggering, after 4s of > uninterrupted runtime (which is huge, is this intended?). This is a > debug mechanism Xenomai implements to recover from a runaway thread > chewing CPU in primary mode, without having to resort to the reset button. > You can either extend the grace period above the default 4s, using > CONFIG_XENO_OPT_WATCHDOG_TIMEOUT, or disable the watchdog entirely by > switching off CONFIG_XENO_OPT_WATCHDOG. This said, 4s is really long > already, so the regular kernel might not cope with even more starvation > from normal interrupts. > > Other explanation would be not time-related. If > CONFIG_XENO_OPT_DEBUG_SYNCH_RELAX is enabled, any attempt to switch to > secondary mode while holding a real-time (Xenomai created) mutex in the > code would trigger such signal, as a warning to point out a priority > inversion.
You may find an example of how to install a SIGXCPU handler and decode signals sent by xenomai in examples/native/sigdebug.c -- Gilles. _______________________________________________ Xenomai-help mailing list Xenomai-help@gna.org https://mail.gna.org/listinfo/xenomai-help