<div dir="ltr">Hi, Glenn and Björn:<br><div><br></div><div style>Thanks for your reply. Yes, I understand that rtspin is only used for synthetic workload and should only be used for testing scheduler behavior.  :)</div><div style>
<br></div><div style>Sisu</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Apr 19, 2013 at 11:07 AM, Björn Brandenburg <span dir="ltr"><<a href="mailto:bbb@mpi-sws.org" target="_blank">bbb@mpi-sws.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
On Apr 19, 2013, at 5:42 PM, Glenn Elliott <<a href="mailto:gelliott@cs.unc.edu">gelliott@cs.unc.edu</a>> wrote:<br>
<br>
><br>
> On Apr 19, 2013, at 11:31 AM, Sisu Xi <<a href="mailto:xisisu@gmail.com">xisisu@gmail.com</a>> wrote:<br>
><br>
>> Hi, all:<br>
>><br>
>> I was looking at the code of rtspin, does cache miss make a difference in rtspin?<br>
>><br>
>> Because rtspin run workload, record time, compare it with wcet and rerun some workload, the cache miss time should already be considered in the execution time.<br>
>><br>
>> In other words, consider one rtspi with alwasy cache hit and the other rtspin with alwasy cache miss. If they are configured the same wcet, each job should run for same time.<br>
>><br>
>> Is this correct?<br>
>><br>
>> Thanks very much!<br>
>><br>
>> Sisu<br>
>><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<br>
>> _______________________________________________<br>
>> litmus-dev mailing list<br>
>> <a href="mailto:litmus-dev@lists.litmus-rt.org">litmus-dev@lists.litmus-rt.org</a><br>
>> <a href="https://lists.litmus-rt.org/listinfo/litmus-dev" target="_blank">https://lists.litmus-rt.org/listinfo/litmus-dev</a><br>
><br>
><br>
> Hi Sisu,<br>
><br>
> I believe that you are correct.  If you want to make it cache-sensitive, you would need to rewrite job() to execute a fixed number of operations on data of an appropriate size.  You would provision the execution time of the task however you need (average case, worst-case, average case with no cache misses, worst-case with no cache misses, etc.---it's up to you).<br>

><br>
> Check out litmus-rt/tools/perf for tools for counting cache misses, branch mispredictions, etc.<br>
<br>
</div></div>Just to add some more context: rtspin is primarily a testing tool. It allows you to try out whether the scheduler does what you expect it to do. It's useful for generating pretty schedules. It is not primarily a performance testing tool. It is certainly not reflective of cache-related execution cost variations in any real workload.<br>

<span class="HOEnZb"><font color="#888888"><br>
- Björn<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
_______________________________________________<br>
litmus-dev mailing list<br>
<a href="mailto:litmus-dev@lists.litmus-rt.org">litmus-dev@lists.litmus-rt.org</a><br>
<a href="https://lists.litmus-rt.org/listinfo/litmus-dev" target="_blank">https://lists.litmus-rt.org/listinfo/litmus-dev</a><br>
</div></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>