aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus/rt_param.h
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2011-01-28 17:29:03 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2011-01-28 19:18:53 -0500
commit1a6154cb07727ae9716de118da15dbdb399983b9 (patch)
tree73b222136d53fff9564306b6a64204bba6203618 /include/litmus/rt_param.h
parentb8be8fb192541fad88983ef6f9270cec1b51b59a (diff)
Implementation of the EDZL scheduler.wip-edzl-final
Implementation of the EDZL scheduler. Zero-laxity points are tracked by timers while jobs are in the pending state. Locking primatives are not supported.
Diffstat (limited to 'include/litmus/rt_param.h')
-rw-r--r--include/litmus/rt_param.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/include/litmus/rt_param.h b/include/litmus/rt_param.h
index a7a183f34a80..41768f446436 100644
--- a/include/litmus/rt_param.h
+++ b/include/litmus/rt_param.h
@@ -90,6 +90,14 @@ struct rt_job {
90 * Increase this sequence number when a job is released. 90 * Increase this sequence number when a job is released.
91 */ 91 */
92 unsigned int job_no; 92 unsigned int job_no;
93
94#ifdef CONFIG_PLUGIN_EDZL
95 /* boolean indicating zero-laxity state. We will
96 set this flag explicitly at zero-laxity detection.
97 This makes priority comparison operations more
98 predictable since laxity varies with time */
99 unsigned int zero_laxity:1;
100#endif
93}; 101};
94 102
95struct pfair_param; 103struct pfair_param;
@@ -113,6 +121,11 @@ struct rt_param {
113 121
114 /* timing parameters */ 122 /* timing parameters */
115 struct rt_job job_params; 123 struct rt_job job_params;
124
125#ifdef CONFIG_PLUGIN_EDZL
126 /* used to trigger zero-laxity detection */
127 struct hrtimer zl_timer;
128#endif
116 129
117 /* task representing the current "inherited" task 130 /* task representing the current "inherited" task
118 * priority, assigned by inherit_priority and 131 * priority, assigned by inherit_priority and
@@ -120,7 +133,7 @@ struct rt_param {
120 * could point to self if PI does not result in 133 * could point to self if PI does not result in
121 * an increased task priority. 134 * an increased task priority.
122 */ 135 */
123 struct task_struct* inh_task; 136 struct task_struct* inh_task;
124 137
125#ifdef CONFIG_NP_SECTION 138#ifdef CONFIG_NP_SECTION
126 /* For the FMLP under PSN-EDF, it is required to make the task 139 /* For the FMLP under PSN-EDF, it is required to make the task