[LITMUS^RT] Increasing time allocated to the scheduler

Glenn Elliott gelliott at cs.unc.edu
Mon Jan 26 21:06:42 CET 2015


> 
> On Jan 26, 2015, at 2:57 PM, Aaron Block <ablock at austincollege.edu> wrote:
> 
> A plugin I am writing right now has a lot of logic in it for what do when a
> job completes. The plugin works correctly, except that it crashes when the
> system load is high. I might be barking up the wrong tree but I suspect
> that my scheduling logic is "taking too long" and this is causing the
> kernel to crash. I was wondering if anybody has an idea of how I could
> increase the amount of time allocated to the scheduler (if there is even
> such a value)
> 
> Thanks,
> 
> --Aaron
> Aaron Block
> Assistant Professor of Computer Science
>  
> Austin College | Math and Computer Science
> 900 North Grand Avenue, Suite 61592 | Sherman, Texas 75090
> Phone 903.813.2563 
> austincollege.edu <http://austincollege.edu/>

Hi Aaron,

Do you have “CONFIG_LOCKUP_DETECTOR” set?  (It’s under the Kernel Hacking > Kernel debugging submenu).  Linux’s soft lockup detector works by running a background high-priority SCHED_FIFO task that runs every few seconds.  Every time it executes, the task resets a counter.  In parallel, using NMIs, an interrupt handler increments this counter.  If this counter reaches a great enough value (~20 seconds by default, I think), the NMI interrupt handler will crash the system.  In systems heavily loaded with Litmus tasks, the SCHED_LITMUS tasks starve the soft lockup detector for CPU time.  The NMI interrupt handler inevitably crashes the system.  I’ve wasted days figuring this one out.

Workaround: Don’t set CONFIG_LOCKUP_DETECTOR.

I’ve thought about submitting a patch to Litmus where the on_tick API causes the lockup detector counter to be reset.  I haven’t gotten around to it yet though.

Of course, maybe CONFIG_LOCKUP_DETECTOR isn’t the source of the problem you are seeing.

-Glenn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20150126/d677a588/attachment.html>


More information about the litmus-dev mailing list