aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2012-12-06 20:37:20 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2012-12-06 20:37:20 -0500
commit983773f990053cb0ced72afb4b69594e5d32c779 (patch)
tree27767f1719926a3973a2d9effa943ea1437f9a1c /include
parent964297dd588ee6feab1aedecb2611bece2681973 (diff)
AUX_FUTURE and revised inh-based aux tie break
Diffstat (limited to 'include')
-rwxr-xr-x[-rw-r--r--]include/litmus/aux_tasks.h2
-rwxr-xr-x[-rw-r--r--]include/litmus/litmus.h1
-rwxr-xr-x[-rw-r--r--]include/litmus/rt_param.h7
3 files changed, 10 insertions, 0 deletions
diff --git a/include/litmus/aux_tasks.h b/include/litmus/aux_tasks.h
index 3bb6b26fef09..87745c1c0df0 100644..100755
--- a/include/litmus/aux_tasks.h
+++ b/include/litmus/aux_tasks.h
@@ -6,6 +6,8 @@ struct task_struct;
6/* admit an aux task with default parameters */ 6/* admit an aux task with default parameters */
7//int admit_aux_task(struct task_struct *t); 7//int admit_aux_task(struct task_struct *t);
8 8
9int make_aux_task_if_required(struct task_struct *t);
10
9/* call on an aux task when it exits real-time */ 11/* call on an aux task when it exits real-time */
10int exit_aux_task(struct task_struct *t); 12int exit_aux_task(struct task_struct *t);
11 13
diff --git a/include/litmus/litmus.h b/include/litmus/litmus.h
index db2987a24686..711b88e2b3d1 100644..100755
--- a/include/litmus/litmus.h
+++ b/include/litmus/litmus.h
@@ -32,6 +32,7 @@ struct task_struct* __waitqueue_remove_first(wait_queue_head_t *wq);
32#define NO_CPU 0xffffffff 32#define NO_CPU 0xffffffff
33 33
34void litmus_fork(struct task_struct *tsk); 34void litmus_fork(struct task_struct *tsk);
35void litmus_post_fork_thread(struct task_struct *tsk);
35void litmus_exec(void); 36void litmus_exec(void);
36/* clean up real-time state of a task */ 37/* clean up real-time state of a task */
37void exit_litmus(struct task_struct *dead_tsk); 38void exit_litmus(struct task_struct *dead_tsk);
diff --git a/include/litmus/rt_param.h b/include/litmus/rt_param.h
index cb7c3ac64339..aca78a835529 100644..100755
--- a/include/litmus/rt_param.h
+++ b/include/litmus/rt_param.h
@@ -41,6 +41,12 @@ typedef enum {
41 PRECISE_SIGNALS, /* budget signals are triggered with hrtimers */ 41 PRECISE_SIGNALS, /* budget signals are triggered with hrtimers */
42} budget_signal_policy_t; 42} budget_signal_policy_t;
43 43
44typedef enum {
45 AUX_ENABLE = 0x1,
46 AUX_CURRENT = (AUX_ENABLE<<1),
47 AUX_FUTURE = (AUX_CURRENT<<2)
48} aux_flags_t;
49
44/* We use the common priority interpretation "lower index == higher priority", 50/* We use the common priority interpretation "lower index == higher priority",
45 * which is commonly used in fixed-priority schedulability analysis papers. 51 * which is commonly used in fixed-priority schedulability analysis papers.
46 * So, a numerically lower priority value implies higher scheduling priority, 52 * So, a numerically lower priority value implies higher scheduling priority,
@@ -370,6 +376,7 @@ struct aux_data
370 struct list_head aux_tasks; 376 struct list_head aux_tasks;
371 struct binheap aux_task_owners; 377 struct binheap aux_task_owners;
372 unsigned int initialized:1; 378 unsigned int initialized:1;
379 unsigned int aux_future:1;
373}; 380};
374#endif 381#endif
375 382