aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus/rt_param.h
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2012-05-03 16:50:32 -0400
committerJonathan Herman <hermanjl@cs.unc.edu>2012-05-03 17:17:52 -0400
commitbb35f3fc684667598d7ae39fd2d49a16f77beb39 (patch)
tree6a70f13510e36e2771652bb3fc6d60321bf1daf6 /include/litmus/rt_param.h
parente0e02579c34b9920781b3ce3fc9d6d7bcafb4d5b (diff)
Added color schedule
Diffstat (limited to 'include/litmus/rt_param.h')
-rw-r--r--include/litmus/rt_param.h14
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. */
9typedef unsigned long long lt_t; 11typedef unsigned long long lt_t;
10 12
@@ -69,7 +71,10 @@ union np_flag {
69struct control_page { 71struct 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 {
92struct _rt_domain; 97struct _rt_domain;
93struct bheap_node; 98struct bheap_node;
94struct release_heap; 99struct release_heap;
100struct rt_server;
101struct dgl_group_req;
95 102
96struct rt_job { 103struct 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 */