<div dir="ltr">Also, wouldn't tracing all these information cause lots of overhead when the system is running? thus interfere with the real-time task?<div><br></div><div style>I am thinking maybe we can use the base_task to do this. the process is like this:</div>
<div style><br></div><div style>1. first pre-calculate a fixed amount of CPU intensive workload on a particular machine, which consumes around 1ms</div><div style>2. allocate a large enough array in base_task to record the job completion time.</div>
<div style>3. wrap it with a for loop. parse the wcet to base_task, and within base_task, job() function, wrap a for loop to call this job this times. at the end of this for loop, record the time. This is the job completion time.</div>
<div style>4. given the task start time and period, we know how many job missed its deadline.</div><div style><br></div><div style>what do you think about this?</div><div style><br></div><div style>Thanks!</div><div style>
<br></div><div style>Sisu</div><div style><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Apr 17, 2013 at 11:47 AM, Sisu Xi <span dir="ltr"><<a href="mailto:xisisu@gmail.com" target="_blank">xisisu@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div>Hi, all:<br><br></div>Is there any tutorial on running multiple rt tasks (say, rtspin) for some time and calculate the deadline miss ratio? like the ones you presented in the paper?<br>
<br></div>I run a single rtspin task with wcet of 5 and period of 10 for 100 seconds. There is no output of this.<br><br></div>I can trace the task execution via reading /dev/litmus/log, it shows:<br><br>208107 P2: rt: adding rtspin/1357 (5000000, 10000000, 10000000) rel=1088752672478 to ready queue at 1088754177964<br>
208108 P2: check_for_preemptions: attempting to link task 1357 to 1<br>208110 P2: (rtspin/1357:2350) blocks:0 out_of_time:0 np:0 sleep:1 preempt:0 state:0 sig:0<br>208111 P2: (rtspin/1357:2350) job_completion().<br>208112 P2: rt: adding rtspin/1357 (5000000, 10000000, 10000000) rel=1088762672478 to ready queue at 1088764173889<br>
208113 P2: check_for_preemptions: attempting to link task 1357 to 1<br>208115 P2: (rtspin/1357:2351) blocks:0 out_of_time:0 np:0 sleep:1 preempt:0 state:0 sig:0<br>208116 P2: (rtspin/1357:2351) job_completion().<br><br></div>
I assume the 1357 is the pid, and the number following (2350, 2351, etc) is the job id. However, I don't know the exact job release time and job completion time. Thus I don't know whether this job missed its deadline or not.<br>
<br></div>How do you guys trace the deadline miss ratio?<br><br>Thanks very much!<span class="HOEnZb"><font color="#888888"><br><br></font></span></div><span class="HOEnZb"><font color="#888888">Sisu<br><div><div><div><br>
<div><div><br clear="all"><div><div><br>-- <br>Sisu Xi, PhD Candidate<br><br><a href="http://www.cse.wustl.edu/~xis/" target="_blank">http://www.cse.wustl.edu/~xis/</a><br>
Department of Computer Science and Engineering<br>Campus Box 1045<br>Washington University in St. Louis<br>One Brookings Drive<br>St. Louis, MO 63130
</div></div></div></div></div></div></div></font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Sisu Xi, PhD Candidate<br><br><a href="http://www.cse.wustl.edu/~xis/" target="_blank">http://www.cse.wustl.edu/~xis/</a><br>Department of Computer Science and Engineering<br>
Campus Box 1045<br>Washington University in St. Louis<br>One Brookings Drive<br>St. Louis, MO 63130
</div>