[LITMUS^RT] Question about how to set task's release time in the base_task.c

Meng Xu xumengpanda at gmail.com
Tue Oct 9 04:09:29 CEST 2012


Thank you so much! Glenn, I will try it.

Thanks,

Meng

2012/10/8 Glenn Elliott <gelliott at cs.unc.edu>

>
>
> On Oct 8, 2012, at 8:04 PM, Meng Xu <xumengpanda at gmail.com> wrote:
>
> Hi Glenn,
>
> Thank you so much! Yes, I can try that way. But in fact, it's still
> limited. Suppose I want to release tasks one by one with 1ms offset, I
> can't do that. If there is a way that I can assign the release time in
> base_task.c, it's more convenient. :)
>
> Meng
>
> 2012/10/8 Glenn Elliott <gelliott at cs.unc.edu>
>
>>
>>
>> On Oct 8, 2012, at 5:18 PM, Meng Xu <xumengpanda at gmail.com> wrote:
>>
>> Hi Glenn,
>>
>> Thank you very much for your reply. Yes, I used your feather trace  and
>> could record the release time and deadline of the job. But now I want to do
>> experiment that release all tasks at the same time. Because I want to
>> control the release time of each task, I think it's better to register the
>> release time in the base_task.c .
>>
>> When I only do one experiment, that's fine, I can change the code in the
>> job.c and make it possible to release all task at the same time. But when I
>> want to do many experiments,  that's impossible to change the code in the
>> job.c each time. That's the reason why I think it's necessary to assign
>> release time in base_task.c.
>>
>> Hi Giovani,
>>
>> Yes, you are right. I can do it in the linux. In fact, we did that as you
>> said in linux. We register a timer for each task and release a job when the
>> timer expires. But in LITMUS, it forbids us to do that. So we have to use
>> the base_task.c as the task's implementation.
>>
>>
>> Meng
>>
>> 2012/10/8 Glenn Elliott <gelliott at cs.unc.edu>
>>
>>> > Hi all,
>>> >
>>> > I want to run a task set in LITMUS. For each task in the task set, I
>>> want to assign an absolute time for it to release its 1st job. By doing
>>> that, I can record each job's response time and determine if the task
>>> misses its deadline or not.
>>> >
>>> > I looked around in the liblitmus folder, but didn't find any function
>>> that can assign a release time for the task.
>>> >
>>> > I found the release time of a task is assigned in release_at() in the
>>> litmus-rt/litmus/job.c file.
>>> > But I still don't know how to assign the task's release time inside
>>> the base_task.c file?
>>> >
>>> > Can anyone help me?
>>> >
>>> > Thank you very much for your time in this question!
>>> >
>>> > Best Regards,
>>> >
>>> > Meng XU
>>>
>>>
>>> Hi Meng,
>>>
>>> Depending upon how you are doing your processing, you may not need to
>>> use specific release times.  Litmus can be configured to log job release
>>> and completion times.  There is no need to make these measurements from the
>>> user-space.
>>>
>>> To get logging support, make sure "CONFIG_SCHED_TASK_TRACE=y" in your
>>> kernel's .config file.  See "Recording Scheduling Traces" here:
>>> https://wiki.litmus-rt.org/litmus/Tracing
>>>
>>> -Glenn
>>>
>>>
>>> _______________________________________________
>>> litmus-dev mailing list
>>> litmus-dev at lists.litmus-rt.org
>>> https://lists.litmus-rt.org/listinfo/litmus-dev
>>>
>>
>> _______________________________________________
>> litmus-dev mailing list
>> litmus-dev at lists.litmus-rt.org
>> https://lists.litmus-rt.org/listinfo/litmus-dev
>>
>>
>>
>> Can you not use wait_for_release() and release_ts() for synchronous task
>> releases?  See liblitmus's rtspin for an example of wait_for_release().
>>  You can then use liblitmus's release_ts program to call release_ts().
>>  This causes all tasks currently waiting for release to be released.  For
>> automated tests, you can write a script that reads /proc/litmus/stats and
>> wait until the desired number of tasks are waiting for release before
>> releasing them.
>>
>> _______________________________________________
>> litmus-dev mailing list
>> litmus-dev at lists.litmus-rt.org
>> https://lists.litmus-rt.org/listinfo/litmus-dev
>>
>>
> _______________________________________________
> litmus-dev mailing list
> litmus-dev at lists.litmus-rt.org
> https://lists.litmus-rt.org/listinfo/litmus-dev
>
>
> Can you use the task phase parameter?
>
> _______________________________________________
> 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/20121008/07da4e2e/attachment.html>


More information about the litmus-dev mailing list