[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 02:04:51 CEST 2012


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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20121008/1a33df4a/attachment.html>


More information about the litmus-dev mailing list