aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus/rt_param.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/litmus/rt_param.h')
-rw-r--r--include/litmus/rt_param.h19
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 */
52struct control_page { 52struct 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};