I can look at this tonight (I am now PST, so that will be in 12 hours).<br><br><div class="gmail_quote">On Wed, May 30, 2012 at 5:42 AM, Björn Brandenburg <span dir="ltr"><<a href="mailto:bbb@mpi-sws.org" target="_blank">bbb@mpi-sws.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On Apr 30, 2012, at 4:11 PM, Giovani Gracioli wrote:<br>
> I am getting successive kernel panics at the same litmus/budget.c line 65 using GSN-EDF scheduler. The application code (test.c) and the task sets are attached. You can run ./test 125 125_tasks_litmus.txt for 125 tasks or 150 150_tasks_litmus.txt for 150 tasks.<br>
><br>
> The processor is an intel i7-2600 with 4 cores and 2 threads per core.<br>
<br>
</div>I am able to reproduce the problem. After some debugging, I think this is what happens:<br>
<br>
1) A task with precise enforcement has zero budget<br>
2) It gets unlinked before the timer is handled. The budget/job completion is not processed because of this check in GSN-EDF's schedule():<br>
<br>
471: if (!np && (out_of_time || sleep) && !blocks && !preempt)<br>
472: job_completion(entry->scheduled, !sleep);<br>
<br>
3) The task gets relinked elsewhere.<br>
4) When it is scheduled, the BUG_ON() triggers.<br>
<br>
However, just removing the !preempt check will cause trouble since timers. This is not straightforward.<br>
I'll continue to investigate tomorrow. In the mean while, suggestions anyone? Glenn? Chris? Jonathan?<br>
<br>
Thanks,<br>
<div class="HOEnZb"><div class="h5">Björn<br>
<br>
<br>
_______________________________________________<br>
litmus-dev mailing list<br>
<a href="mailto:litmus-dev@lists.litmus-rt.org">litmus-dev@lists.litmus-rt.org</a><br>
<a href="https://lists.litmus-rt.org/listinfo/litmus-dev" target="_blank">https://lists.litmus-rt.org/listinfo/litmus-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Jonathan Herman<br>Department of Computer Science at UNC Chapel Hill<br>