diff options
Diffstat (limited to 'include/litmus/rt_param.h')
-rw-r--r-- | include/litmus/rt_param.h | 30 |
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 | ||
262 | struct pfair_param; | 275 | struct 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; |