[LITMUS^RT] preparing a new release
Glenn Elliott
gelliott at cs.unc.edu
Fri Nov 30 23:15:36 CET 2012
This is an issue has hit me before. I think running ftcat as SCHED_FIFO is useful. Is there any way we can fix this? Perhaps we should silently ignore the resched event instead of BUG()'ing?
-Glenn
On Nov 30, 2012, at 5:12 PM, Jonathan Herman <hermanjl at cs.unc.edu> wrote:
> This is caused by my scripts elevating ftcat for sched_trace to SCHED_FIFO. Apparently the SCHED_FIFO rebalancing timer can trigger a reschedule for two reasons:
> 1. Too much SCHED_FIFO work was done in the last period
> 2. Too little SCHED_FIFO work was done in the last period (this is what got me)
> My SCHED_FIFO ftcat's were getting starved, causing the rebalancing timer to remotely reschedule a running rtspin in the vain hope that ftcat would be selected to run.
>
> I wouldn't worry about this issue. False alarm.
>
>
> On Fri, Nov 30, 2012 at 2:21 PM, Jonathan Herman <hermanjl at cs.unc.edu> wrote:
> It does still crash, yes. It looks like this is being caused by the real-time balancing timer in linux (see Documentation/scheduler/sched-rt-group.txt) which forces Linux real-time (ie SCHED_FIFO) tasks to relinquish 5% of the CPU to SCHED_OTHER tasks. It works like so:
> 1. A timer fires periodically.
> 2. The timer scans ALL cpus.
> 3. If any CPU has real-time work exceeding some threshold over the last timer period, the currently running task on that CPU is rescheduled.
>
> Step 3 is what caused our BUG. The BUG is hit if a remote processor, in this case the processor on which the rebalancing timer fired, triggers a reschedule of a SCHED_LITMUS task.
>
> This can be disabled with:
> echo -1 > /proc/sys/kernel/sched_rt_runtime_us
>
> I will spend some time figuring out why this timer is considering SCHED_LITMUS work when rebalancing. Somehow our work is counting towards the 95% work which SCHED_FIFO tasks can use. That is why the BUG is only hit when the system is fully utilized as well.
>
>
> On Thu, Nov 29, 2012 at 5:39 PM, Björn Brandenburg <bbb at mpi-sws.org> wrote:
>
> On Nov 29, 2012, at 9:20 PM, Jonathan Herman <hermanjl at cs.unc.edu> wrote:
>
> > I have also confirmed that this only happens when shed-trace is running (not overhead tracing, just scheduling). Every commit I checked back to the 3.0 merge where my sched-trace still ran had this same issue.
>
> Yikes. Sounds like it could be a bug in the Feather-Trace triggers.
>
> Could you please try the following: edit arch/x86/Kconfig to remove ARCH_HAS_FEATHER_TRACE. This should disable the asm Feather-Trace hacks and replace it with a tame default implementation. Does it still crash?
>
> Thanks,
> Björn
>
>
> _______________________________________________
> litmus-dev mailing list
> litmus-dev at lists.litmus-rt.org
> https://lists.litmus-rt.org/listinfo/litmus-dev
>
>
>
> --
> Jonathan Herman
> Department of Computer Science at UNC Chapel Hill
>
>
>
> --
> Jonathan Herman
> Department of Computer Science at UNC Chapel Hill
> _______________________________________________
> litmus-dev mailing list
> litmus-dev at lists.litmus-rt.org
> https://lists.litmus-rt.org/listinfo/litmus-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20121130/c8b5f4af/attachment.html>
More information about the litmus-dev
mailing list