aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus/rt_param.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/litmus/rt_param.h')
-rw-r--r--include/litmus/rt_param.h30
1 files changed, 21 insertions, 9 deletions
diff --git a/include/litmus/rt_param.h b/include/litmus/rt_param.h
index 887075b908ca..499ecd899fcd 100644
--- a/include/litmus/rt_param.h
+++ b/include/litmus/rt_param.h
@@ -257,6 +257,19 @@ struct rt_job {
257 * Increase this sequence number when a job is released. 257 * Increase this sequence number when a job is released.
258 */ 258 */
259 unsigned int job_no; 259 unsigned int job_no;
260
261 /* Increments each time a job is forced to complete by
262 * budget exhaustion. If a job completes without remaining
263 * budget, the next job will be early-released _without_
264 * pushing back its deadline. job_backlog is decremented once
265 * per early release. This behavior continues until
266 * backlog == 0.
267 */
268 unsigned int backlog;
269
270 /* denotes if the current job is a backlogged job that was caused
271 * by an earlier budget exhaustion */
272 unsigned int is_backlogged_job:1;
260}; 273};
261 274
262struct pfair_param; 275struct pfair_param;
@@ -387,6 +400,14 @@ struct rt_param {
387 unsigned int num_local_locks_held; 400 unsigned int num_local_locks_held;
388#endif 401#endif
389 402
403#ifdef CONFIG_LITMUS_NESTED_LOCKING
404 raw_spinlock_t hp_blocked_tasks_lock;
405 struct binheap hp_blocked_tasks;
406
407 /* pointer to lock upon which is currently blocked */
408 struct litmus_lock* blocked_lock;
409#endif
410
390 /* user controlled parameters */ 411 /* user controlled parameters */
391 struct rt_task task_params; 412 struct rt_task task_params;
392 413
@@ -401,15 +422,6 @@ struct rt_param {
401 */ 422 */
402 struct task_struct* inh_task; 423 struct task_struct* inh_task;
403 424
404#ifdef CONFIG_LITMUS_NESTED_LOCKING
405 raw_spinlock_t hp_blocked_tasks_lock;
406 struct binheap hp_blocked_tasks;
407
408 /* pointer to lock upon which is currently blocked */
409 struct litmus_lock* blocked_lock;
410#endif
411
412
413#ifdef CONFIG_REALTIME_AUX_TASKS 425#ifdef CONFIG_REALTIME_AUX_TASKS
414 unsigned int is_aux_task:1; 426 unsigned int is_aux_task:1;
415 unsigned int aux_ready:1; 427 unsigned int aux_ready:1;