[LITMUS^RT] How to Measure CPMD Costs

Björn Brandenburg bbb at mpi-sws.org
Tue Aug 6 09:00:32 CEST 2013


On Aug 5, 2013, at 9:21 PM, Hiroyuki Chishiro <chishiro at cs.unc.edu> wrote:
>  
> I would like to know how to measure CPMD costs.
>  
> I could not compile cpmd-experiments in https://github.com/brandenburg/cpmd-experiments.
> Because the following compile errors occur.
>  
> --
> bin/pm_task.c:121:29: error: 'struct control_page' has no member named 'job_count'
> bin/pm_task.c:128:25: error: 'struct control_page' has no member named 'job_count'
> bin/pm_task.c:129:27: error: 'struct control_page' has no member named 'sched_count'
> bin/pm_task.c:130:19: error: 'struct control_page' has no member named 'cpu'
> bin/pm_task.c:131:28: error: 'struct control_page' has no member named 'last_rt_task'
> bin/pm_task.c:154:30: error: 'struct control_page' has no member named 'job_count'
> bin/pm_task.c:155:30: error: 'struct control_page' has no member named 'sched_count'
> bin/pm_task.c:156:22: error: 'struct control_page' has no member named 'cpu'
> bin/pm_task.c:188:31: error: 'struct control_page' has no member named 'job_count'
> bin/pm_task.c:189:32: error: 'struct control_page' has no member named 'sched_count'
> bin/pm_task.c:190:24: error: 'struct control_page' has no member named 'cpu'
> bin/pm_task.c:222:32: error: 'struct control_page' has no member named 'sched_count'
> bin/pm_task.c:223:24: error: 'struct control_page' has no member named 'cpu'
> bin/pm_task.c:234:9: error: 'struct control_page' has no member named 'preempt_end'
> bin/pm_task.c:234:29: error: 'struct control_page' has no member named 'preempt_start'
> bin/pm_task.c:235:25: error: 'struct control_page' has no member named 'job_count'
> bin/pm_task.c:236:27: error: 'struct control_page' has no member named 'sched_count'
> bin/pm_task.c:237:19: error: 'struct control_page' has no member named 'cpu'
> bin/pm_task.c:238:28: error: 'struct control_page' has no member named 'last_rt_task'
> bin/pm_task.c:253:51: error: 'struct control_page' has no member named 'job_count'
> bin/pm_task.c:254:53: error: 'struct control_page' has no member named 'sched_count'
> bin/pm_task.c:255:45: error: 'struct control_page' has no member named 'cpu'
> --
>  
> I think that struct control_page does not have these members in current LITMUS^RT.
> Please tell me how to measure CPMD costs in current LITMUS^RT.

In short: run the make file, not the SCons script.

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.

(I thought Jonathan's scripts actually do that for you automatically.)

- Björn





More information about the litmus-dev mailing list