diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2011-01-28 17:29:03 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2011-01-28 19:18:53 -0500 |
commit | 1a6154cb07727ae9716de118da15dbdb399983b9 (patch) | |
tree | 73b222136d53fff9564306b6a64204bba6203618 /include/litmus/rt_param.h | |
parent | b8be8fb192541fad88983ef6f9270cec1b51b59a (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.h | 15 |
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 | ||
95 | struct pfair_param; | 103 | struct 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 |