diff options
Diffstat (limited to 'include/litmus/rt_param.h')
-rw-r--r-- | include/litmus/rt_param.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/include/litmus/rt_param.h b/include/litmus/rt_param.h index 5b94d1a8eea7..31630d729dbb 100644 --- a/include/litmus/rt_param.h +++ b/include/litmus/rt_param.h | |||
@@ -50,13 +50,26 @@ struct rt_task { | |||
50 | * determining preemption/migration overheads). | 50 | * determining preemption/migration overheads). |
51 | */ | 51 | */ |
52 | struct control_page { | 52 | struct control_page { |
53 | /* preemption and migration overheads measurement*/ | ||
54 | /* execution start time */ | ||
55 | lt_t preempt_end; | ||
56 | /* increased if last_rt != current */ | ||
57 | unsigned long sched_count; | ||
58 | unsigned int cpu; | ||
59 | /* job number for this task */ | ||
60 | unsigned long job_count; | ||
61 | /* last rt task before current one */ | ||
62 | unsigned long last_rt_task; | ||
63 | /* execution stop time */ | ||
64 | lt_t preempt_start; | ||
65 | |||
53 | /* Is the task currently in a non-preemptive section? */ | 66 | /* Is the task currently in a non-preemptive section? */ |
54 | int np_flag; | 67 | int np_flag; |
55 | /* Should the task call into the kernel when it leaves | 68 | /* Should the task call into the kernel when it leaves |
56 | * its non-preemptive section? */ | 69 | * its non-preemptive section? */ |
57 | int delayed_preemption; | 70 | int delayed_preemption; |
58 | 71 | ||
59 | /* to be extended */ | 72 | /* what do you want to share today ? */ |
60 | }; | 73 | }; |
61 | 74 | ||
62 | /* don't export internal data structures to user space (liblitmus) */ | 75 | /* don't export internal data structures to user space (liblitmus) */ |
@@ -175,6 +188,10 @@ struct rt_param { | |||
175 | */ | 188 | */ |
176 | struct list_head list; | 189 | struct list_head list; |
177 | 190 | ||
191 | /* FIXME for overhead tracing it would be better | ||
192 | * having this page on top of rt_param and having rt_param | ||
193 | * closer to the top of task_struct | ||
194 | */ | ||
178 | /* Pointer to the page shared between userspace and kernel. */ | 195 | /* Pointer to the page shared between userspace and kernel. */ |
179 | struct control_page * ctrl_page; | 196 | struct control_page * ctrl_page; |
180 | }; | 197 | }; |