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

Reply via email to