diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2012-05-03 16:50:32 -0400 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2012-05-03 17:17:52 -0400 |
commit | bb35f3fc684667598d7ae39fd2d49a16f77beb39 (patch) | |
tree | 6a70f13510e36e2771652bb3fc6d60321bf1daf6 /include/litmus/rt_param.h | |
parent | e0e02579c34b9920781b3ce3fc9d6d7bcafb4d5b (diff) |
Added color schedule
Diffstat (limited to 'include/litmus/rt_param.h')
-rw-r--r-- | include/litmus/rt_param.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/include/litmus/rt_param.h b/include/litmus/rt_param.h index ed9b7d20a763..2991fff58bc6 100644 --- a/include/litmus/rt_param.h +++ b/include/litmus/rt_param.h | |||
@@ -5,6 +5,8 @@ | |||
5 | #ifndef _LINUX_RT_PARAM_H_ | 5 | #ifndef _LINUX_RT_PARAM_H_ |
6 | #define _LINUX_RT_PARAM_H_ | 6 | #define _LINUX_RT_PARAM_H_ |
7 | 7 | ||
8 | #include <litmus/color.h> | ||
9 | |||
8 | /* Litmus time type. */ | 10 | /* Litmus time type. */ |
9 | typedef unsigned long long lt_t; | 11 | typedef unsigned long long lt_t; |
10 | 12 | ||
@@ -69,7 +71,10 @@ union np_flag { | |||
69 | struct control_page { | 71 | struct control_page { |
70 | volatile union np_flag sched; | 72 | volatile union np_flag sched; |
71 | 73 | ||
72 | /* to be extended */ | 74 | /* locking overhead tracing: time stamp prior to system call */ |
75 | uint64_t ts_syscall_start; /* Feather-Trace cycles */ | ||
76 | |||
77 | int requests[NUM_COLORS]; | ||
73 | }; | 78 | }; |
74 | 79 | ||
75 | #ifndef __KERNEL__ | 80 | #ifndef __KERNEL__ |
@@ -92,6 +97,8 @@ struct color_ctrl_page { | |||
92 | struct _rt_domain; | 97 | struct _rt_domain; |
93 | struct bheap_node; | 98 | struct bheap_node; |
94 | struct release_heap; | 99 | struct release_heap; |
100 | struct rt_server; | ||
101 | struct dgl_group_req; | ||
95 | 102 | ||
96 | struct rt_job { | 103 | struct rt_job { |
97 | /* Time instant the the job was or will be released. */ | 104 | /* Time instant the the job was or will be released. */ |
@@ -128,6 +135,8 @@ struct rt_param { | |||
128 | /* is the task present? (true if it can be scheduled) */ | 135 | /* is the task present? (true if it can be scheduled) */ |
129 | unsigned int present:1; | 136 | unsigned int present:1; |
130 | 137 | ||
138 | unsigned int is_server:1; | ||
139 | |||
131 | #ifdef CONFIG_LITMUS_LOCKING | 140 | #ifdef CONFIG_LITMUS_LOCKING |
132 | /* Is the task being priority-boosted by a locking protocol? */ | 141 | /* Is the task being priority-boosted by a locking protocol? */ |
133 | unsigned int priority_boosted:1; | 142 | unsigned int priority_boosted:1; |
@@ -135,6 +144,8 @@ struct rt_param { | |||
135 | lt_t boost_start_time; | 144 | lt_t boost_start_time; |
136 | #endif | 145 | #endif |
137 | 146 | ||
147 | struct rt_server *server; | ||
148 | |||
138 | /* user controlled parameters */ | 149 | /* user controlled parameters */ |
139 | struct rt_task task_params; | 150 | struct rt_task task_params; |
140 | 151 | ||
@@ -213,6 +224,7 @@ struct rt_param { | |||
213 | struct control_page * ctrl_page; | 224 | struct control_page * ctrl_page; |
214 | 225 | ||
215 | struct color_ctrl_page *color_ctrl_page; | 226 | struct color_ctrl_page *color_ctrl_page; |
227 | struct dgl_group_req *req; | ||
216 | }; | 228 | }; |
217 | 229 | ||
218 | /* Possible RT flags */ | 230 | /* Possible RT flags */ |