aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus/budget.h
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2013-03-22 15:13:17 -0400
committerGlenn Elliott <gelliott@cs.unc.edu>2013-03-22 15:13:17 -0400
commit4e28e863475df7c27c2e9ecba4e2cdd409bf044e (patch)
treec306c974df6ce4662380d48ebb6a61b01bc40720 /include/litmus/budget.h
parent7bbf3205ae1979cb41fd2a0dfdd103656bf8e84e (diff)
work in progress.
Diffstat (limited to 'include/litmus/budget.h')
-rw-r--r--include/litmus/budget.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/litmus/budget.h b/include/litmus/budget.h
index 72f04777e0b0..4f1bdd101a9e 100644
--- a/include/litmus/budget.h
+++ b/include/litmus/budget.h
@@ -58,6 +58,8 @@ typedef void (*preempt_t)(struct task_struct* t);
58typedef void (*sleep_t)(struct task_struct* t); 58typedef void (*sleep_t)(struct task_struct* t);
59typedef enum hrtimer_restart (*exhausted_t)(struct task_struct* t); 59typedef enum hrtimer_restart (*exhausted_t)(struct task_struct* t);
60typedef void (*exit_t)(struct task_struct* t); 60typedef void (*exit_t)(struct task_struct* t);
61typedef void (*inherit_t)(struct task_struct* t, struct task_struct* prio_inh);
62typedef void (*disinherit_t)(struct task_struct* t, struct task_struct* prio_inh);
61 63
62struct budget_tracker_ops 64struct budget_tracker_ops
63{ 65{
@@ -69,6 +71,9 @@ struct budget_tracker_ops
69 exit_t on_exit; /* task exiting rt mode */ 71 exit_t on_exit; /* task exiting rt mode */
70 72
71 exhausted_t on_exhausted; /* called by plugin::tick() or timer interrupt */ 73 exhausted_t on_exhausted; /* called by plugin::tick() or timer interrupt */
74
75 inherit_t on_inherit;
76 disinherit_t on_disinherit;
72}; 77};
73 78
74struct budget_tracker 79struct budget_tracker
@@ -108,6 +113,8 @@ void sobliv_on_sleep(struct task_struct* t);
108/* Use the DRAIN_SIMPLE implementations */ 113/* Use the DRAIN_SIMPLE implementations */
109#define sobliv_on_preempt simple_on_preempt 114#define sobliv_on_preempt simple_on_preempt
110#define sobliv_on_exit simple_on_exit 115#define sobliv_on_exit simple_on_exit
116void sobliv_on_inherit(struct task_struct* t, struct task_struct* prio_inh);
117void sobliv_on_disinherit(struct task_struct* t, struct task_struct* prio_inh);
111 118
112 119
113void init_budget_tracker(struct budget_tracker* bt, 120void init_budget_tracker(struct budget_tracker* bt,