[LITMUS^RT] Job Quantity Issue
Björn Brandenburg
bbb at mpi-sws.org
Sat Aug 29 14:04:33 CEST 2015
> On 28 Aug 2015, at 21:40, Geoffrey Tran <gtran at isi.edu> wrote:
>
> Hi Björn,
>
> Thanks for your reply. I've answered your questions below.
>
> 1) LITMUS-RT 2014.2, with Xen patch
>
> 2) GSN-EDF with no modifications to the plugin
>
> 3) KVM
>
> 4) Each call to the job() function results in the count being
> decremented, so the task terminates when count == 0
>
> 5) I guess I was confusing myself between what LITMUS sees as
> a job vs the "job" calls in the task.
>
> Thanks for this explanation. It is helpful. However, I then
> have a few more questions please.
>
> - Shouldn't a forced job completion be counted as a missed deadline?
> If this is what's happening in the second case, it looks like
> st_job_stats isn't reporting it, possibly due to how it determines
> a missed job.
A deadline miss is reported if the full budget could not be consumed by the deadline. For instance, this can happen under GSN-EDF since it’s not an optimal multiprocessor scheduler. This is different from a task overrunning its assigned budget.
If you want to evaluate budget enforcement events, you can look at the ‘forced’ field in st_completion_data:
https://github.com/LITMUS-RT/litmus-rt/blob/master/include/litmus/sched_trace.h#L55
You are right that st_job_stats currently does not report this field in its output, but it should be easy to add, and I’d be happy to merge such a patch.
> - Would you be able to recommend a way to have the userspace jobs
> line up with the kernel jobs? My goal is to have a way to generate
> a number of jobs in the task, have that match up with the jobs in the
> trace, and be able to detect the missed deadlines in the benchmark
> at runtime.
>
> For instance, using this example, the task determines that it needs
> to call job() 10 times and iterations 3 and 8 miss their deadlines, then
> it would be able to know that at runtime, and the trace logs would also
> show 10 jobs with the third and eighth jobs missing deadlines.
You could write a simple log in userspace, recording for each invocation the starting and finish kernel-view job ID. This allows you to reconstruct how many budget enforcement events you were subject to.
Best regards,
Björn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20150829/c6ecacad/attachment.html>
More information about the litmus-dev
mailing list