<div dir="ltr">My code did not measure normal CPMD costs unfortunately. The cache coloring paper pre-loaded all data needed by a job into the cache before the job began execution. This was recorded by the scheduler and saved in the load field of a job_completion record, where it was parsed by my scripts.</div>

<div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Aug 7, 2013 at 8:13 AM, Hiroyuki Chishiro <span dir="ltr"><<a href="mailto:chishiro@cs.unc.edu" target="_blank">chishiro@cs.unc.edu</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>Hi Björn,</div><div> </div><div>Thank you for your reply.</div><div>I could measure CPMD costs using the synthetic method.</div>

<div> </div></div><div class="gmail_extra"><div><div class="h5"><br><br><div class="gmail_quote">
On Tue, Aug 6, 2013 at 3:00 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><div><br>
On Aug 5, 2013, at 9:21 PM, Hiroyuki Chishiro <<a href="mailto:chishiro@cs.unc.edu" target="_blank">chishiro@cs.unc.edu</a>> wrote:<br>
><br>
> I would like to know how to measure CPMD costs.<br>
><br>
> I could not compile cpmd-experiments in <a href="https://github.com/brandenburg/cpmd-experiments" target="_blank">https://github.com/brandenburg/cpmd-experiments</a>.<br>
> Because the following compile errors occur.<br>
><br>
> --<br>
> bin/pm_task.c:121:29: error: 'struct control_page' has no member named 'job_count'<br>
> bin/pm_task.c:128:25: error: 'struct control_page' has no member named 'job_count'<br>
> bin/pm_task.c:129:27: error: 'struct control_page' has no member named 'sched_count'<br>
> bin/pm_task.c:130:19: error: 'struct control_page' has no member named 'cpu'<br>
> bin/pm_task.c:131:28: error: 'struct control_page' has no member named 'last_rt_task'<br>
> bin/pm_task.c:154:30: error: 'struct control_page' has no member named 'job_count'<br>
> bin/pm_task.c:155:30: error: 'struct control_page' has no member named 'sched_count'<br>
> bin/pm_task.c:156:22: error: 'struct control_page' has no member named 'cpu'<br>
> bin/pm_task.c:188:31: error: 'struct control_page' has no member named 'job_count'<br>
> bin/pm_task.c:189:32: error: 'struct control_page' has no member named 'sched_count'<br>
> bin/pm_task.c:190:24: error: 'struct control_page' has no member named 'cpu'<br>
> bin/pm_task.c:222:32: error: 'struct control_page' has no member named 'sched_count'<br>
> bin/pm_task.c:223:24: error: 'struct control_page' has no member named 'cpu'<br>
> bin/pm_task.c:234:9: error: 'struct control_page' has no member named 'preempt_end'<br>
> bin/pm_task.c:234:29: error: 'struct control_page' has no member named 'preempt_start'<br>
> bin/pm_task.c:235:25: error: 'struct control_page' has no member named 'job_count'<br>
> bin/pm_task.c:236:27: error: 'struct control_page' has no member named 'sched_count'<br>
> bin/pm_task.c:237:19: error: 'struct control_page' has no member named 'cpu'<br>
> bin/pm_task.c:238:28: error: 'struct control_page' has no member named 'last_rt_task'<br>
> bin/pm_task.c:253:51: error: 'struct control_page' has no member named 'job_count'<br>
> bin/pm_task.c:254:53: error: 'struct control_page' has no member named 'sched_count'<br>
> bin/pm_task.c:255:45: error: 'struct control_page' has no member named 'cpu'<br>
> --<br>
><br>
> I think that struct control_page does not have these members in current LITMUS^RT.<br>
> Please tell me how to measure CPMD costs in current LITMUS^RT.<br>
<br>
</div></div>In short: run the make file, not the SCons script.<br>
<br>
Longer explanation: we developed two CPMD measurement approaches, the synthetic method and the schedule-sensitive method. The former uses SCHED_FIFO and a special measurement task and also works under stock Linux; the latter requires kernel modifications and worked with an old branch of LITMUS^RT. You are seeing compile errors in the schedule-sensitive method, which has never been supported in the mainline LITMUS^RT version. Just use the synthetic method, which is easier to use and produces results faster anyway.<br>



<br>
(I thought Jonathan's scripts actually do that for you automatically.)<br>
<br>
- Björn<br>
<br>
<br>
_______________________________________________<br>
litmus-dev mailing list<br>
<a href="mailto:litmus-dev@lists.litmus-rt.org" target="_blank">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>
</blockquote></div><br><br clear="all"><br></div></div><div class="im">-- <br><p style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif;margin:0px">Hiroyuki Chishiro</p><p style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif;margin:0px">


Visiting Scholar</p><p style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif;margin:0px">Department of Computer Science</p><p style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif;margin:0px">


The University of North Carolina at Chapel Hill</p>
</div></div>
<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></blockquote></div><br><br clear="all"><div><br></div>-- <br>Jonathan Herman<br>Department of Computer Science at UNC Chapel Hill
</div>