diff options
Diffstat (limited to 'litmus/sched_plugin.c')
-rw-r--r-- | litmus/sched_plugin.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/litmus/sched_plugin.c b/litmus/sched_plugin.c index 00a1900d6457..c910a08b7049 100644 --- a/litmus/sched_plugin.c +++ b/litmus/sched_plugin.c | |||
@@ -118,6 +118,40 @@ static long litmus_dummy_allocate_lock(struct litmus_lock **lock, int type, | |||
118 | return -ENXIO; | 118 | return -ENXIO; |
119 | } | 119 | } |
120 | 120 | ||
121 | static void litmus_dummy_set_prio_inh(struct task_struct* a, struct task_struct* b) | ||
122 | { | ||
123 | } | ||
124 | |||
125 | static void litmus_dummy_clear_prio_inh(struct task_struct* t) | ||
126 | { | ||
127 | } | ||
128 | |||
129 | #endif | ||
130 | |||
131 | #ifdef CONFIG_LITMUS_SOFTIRQD | ||
132 | static void litmus_dummy_set_prio_inh_klitirq(struct task_struct* klitirqd, | ||
133 | struct task_struct* old_owner, | ||
134 | struct task_struct* new_owner) | ||
135 | { | ||
136 | } | ||
137 | |||
138 | static void litmus_dummy_clear_prio_inh_klitirqd(struct task_struct* klitirqd, | ||
139 | struct task_struct* old_owner) | ||
140 | { | ||
141 | } | ||
142 | #endif | ||
143 | |||
144 | #ifdef CONFIG_LITMUS_PAI_SOFTIRQD | ||
145 | static int litmus_dummy_enqueue_pai_tasklet(struct tasklet_struct* t) | ||
146 | { | ||
147 | TRACE("%s: PAI Tasklet unsupported in this plugin!!!!!!\n", __FUNCTION__); | ||
148 | return(0); // failure. | ||
149 | } | ||
150 | |||
151 | static void litmus_dummy_run_tasklets(struct task_struct* t) | ||
152 | { | ||
153 | //TRACE("%s: PAI Tasklet unsupported in this plugin!!!!!!\n", __FUNCTION__); | ||
154 | } | ||
121 | #endif | 155 | #endif |
122 | 156 | ||
123 | 157 | ||
@@ -138,6 +172,16 @@ struct sched_plugin linux_sched_plugin = { | |||
138 | .deactivate_plugin = litmus_dummy_deactivate_plugin, | 172 | .deactivate_plugin = litmus_dummy_deactivate_plugin, |
139 | #ifdef CONFIG_LITMUS_LOCKING | 173 | #ifdef CONFIG_LITMUS_LOCKING |
140 | .allocate_lock = litmus_dummy_allocate_lock, | 174 | .allocate_lock = litmus_dummy_allocate_lock, |
175 | .set_prio_inh = litmus_dummy_set_prio_inh, | ||
176 | .clear_prio_inh = litmus_dummy_clear_prio_inh, | ||
177 | #endif | ||
178 | #ifdef CONFIG_LITMUS_SOFTIRQD | ||
179 | .set_prio_inh_klitirqd = litmus_dummy_set_prio_inh_klitirq, | ||
180 | .clear_prio_inh_klitirqd = litmus_dummy_clear_prio_inh_klitirqd, | ||
181 | #endif | ||
182 | #ifdef CONFIG_LITMUS_PAI_SOFTIRQD | ||
183 | .enqueue_pai_tasklet = litmus_dummy_enqueue_pai_tasklet, | ||
184 | .run_tasklets = litmus_dummy_run_tasklets, | ||
141 | #endif | 185 | #endif |
142 | .admit_task = litmus_dummy_admit_task | 186 | .admit_task = litmus_dummy_admit_task |
143 | }; | 187 | }; |
@@ -176,6 +220,8 @@ int register_sched_plugin(struct sched_plugin* plugin) | |||
176 | CHECK(deactivate_plugin); | 220 | CHECK(deactivate_plugin); |
177 | #ifdef CONFIG_LITMUS_LOCKING | 221 | #ifdef CONFIG_LITMUS_LOCKING |
178 | CHECK(allocate_lock); | 222 | CHECK(allocate_lock); |
223 | CHECK(set_prio_inh); | ||
224 | CHECK(clear_prio_inh); | ||
179 | #endif | 225 | #endif |
180 | CHECK(admit_task); | 226 | CHECK(admit_task); |
181 | 227 | ||