[LITMUS^RT] running a task as its execution time

Jonathan Herman hermanjl at cs.unc.edu
Thu May 31 07:34:49 CEST 2012


My hotel internet (which I, unfortunately, will have for the entire
summer) doesn't play well with ludwig, but I think I understand the
situation. We encountered this same issue with the mixed-criticality
and EDF-HSB schedulers. Our poor implementation was to remove the '&&
!preempt' before job_completion in the _schedule method, and
compensate by adding a check for is_queued(task) in the _requeue
method so that job_completion could be called after a preemption
without causing a BUG.

> It seems to me the right thing to do is to not add unlinked tasks to the ready queue if they have no budget remaining. Then it is safe to process the job completion even if it coincides with a preemption.

This is a better solution.

On Wed, May 30, 2012 at 12:42 PM, Björn Brandenburg <bbb at mpi-sws.org> wrote:
>
> On 30.05.2012, at 18:30, Jonathan Herman <hermanjl at cs.unc.edu> wrote:
>
> I can look at this tonight (I am now PST, so that will be in 12 hours).
>
>
> Thanks. I'll take another look tomorrow my time / evening your time as well.
>
>
> On Wed, May 30, 2012 at 5:42 AM, Björn Brandenburg <bbb at mpi-sws.org> wrote:
>>
>>
>> However, just removing the !preempt check will cause trouble since timers.
>
>
> This got mangled somehow. I meant to say that timers should not be programmed for tasks that are in the ready queue.
>
> It seems to me the right thing to do is to not add unlinked tasks to the ready queue if they have no budget remaining. Then it is safe to process the job completion even if it coincides with a preemption.
>
> - 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




More information about the litmus-dev mailing list