diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2013-03-22 15:13:17 -0400 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2013-03-22 15:13:17 -0400 |
commit | 4e28e863475df7c27c2e9ecba4e2cdd409bf044e (patch) | |
tree | c306c974df6ce4662380d48ebb6a61b01bc40720 /include/litmus/budget.h | |
parent | 7bbf3205ae1979cb41fd2a0dfdd103656bf8e84e (diff) |
work in progress.
Diffstat (limited to 'include/litmus/budget.h')
-rw-r--r-- | include/litmus/budget.h | 7 |
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); | |||
58 | typedef void (*sleep_t)(struct task_struct* t); | 58 | typedef void (*sleep_t)(struct task_struct* t); |
59 | typedef enum hrtimer_restart (*exhausted_t)(struct task_struct* t); | 59 | typedef enum hrtimer_restart (*exhausted_t)(struct task_struct* t); |
60 | typedef void (*exit_t)(struct task_struct* t); | 60 | typedef void (*exit_t)(struct task_struct* t); |
61 | typedef void (*inherit_t)(struct task_struct* t, struct task_struct* prio_inh); | ||
62 | typedef void (*disinherit_t)(struct task_struct* t, struct task_struct* prio_inh); | ||
61 | 63 | ||
62 | struct budget_tracker_ops | 64 | struct 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 | ||
74 | struct budget_tracker | 79 | struct 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 |
116 | void sobliv_on_inherit(struct task_struct* t, struct task_struct* prio_inh); | ||
117 | void sobliv_on_disinherit(struct task_struct* t, struct task_struct* prio_inh); | ||
111 | 118 | ||
112 | 119 | ||
113 | void init_budget_tracker(struct budget_tracker* bt, | 120 | void init_budget_tracker(struct budget_tracker* bt, |