diff options
Diffstat (limited to 'include/litmus/budget.h')
-rw-r--r-- | include/litmus/budget.h | 42 |
1 files changed, 1 insertions, 41 deletions
diff --git a/include/litmus/budget.h b/include/litmus/budget.h index 4f1bdd101a9e..8e426a71f03d 100644 --- a/include/litmus/budget.h +++ b/include/litmus/budget.h | |||
@@ -4,47 +4,6 @@ | |||
4 | #include <linux/hrtimer.h> | 4 | #include <linux/hrtimer.h> |
5 | #include <linux/semaphore.h> | 5 | #include <linux/semaphore.h> |
6 | 6 | ||
7 | #define budget_exhausted(t) \ | ||
8 | (get_exec_time(t) >= get_exec_cost(t)) | ||
9 | |||
10 | #define budget_remaining(t) \ | ||
11 | ((!budget_exhausted(t)) ? (get_exec_cost(t) - get_exec_time(t)) : 0) | ||
12 | |||
13 | #define budget_enforced(t) (\ | ||
14 | tsk_rt(t)->task_params.budget_policy != NO_ENFORCEMENT) | ||
15 | |||
16 | #define budget_precisely_tracked(t) (\ | ||
17 | tsk_rt(t)->task_params.budget_policy == PRECISE_ENFORCEMENT || \ | ||
18 | tsk_rt(t)->task_params.budget_signal_policy == PRECISE_SIGNALS) | ||
19 | |||
20 | #define budget_quantum_tracked(t) (\ | ||
21 | tsk_rt(t)->task_params.budget_policy == QUANTUM_ENFORCEMENT || \ | ||
22 | tsk_rt(t)->task_params.budget_signal_policy == QUANTUM_SIGNALS) | ||
23 | |||
24 | #define budget_signalled(t) (\ | ||
25 | tsk_rt(t)->task_params.budget_signal_policy != NO_SIGNALS) | ||
26 | |||
27 | #define budget_precisely_signalled(t) (\ | ||
28 | tsk_rt(t)->task_params.budget_policy == PRECISE_SIGNALS) | ||
29 | |||
30 | #define bt_flag_is_set(t, flag_nr) (\ | ||
31 | test_bit(flag_nr, &tsk_rt(t)->budget.flags)) | ||
32 | |||
33 | #define bt_flag_test_and_set(t, flag_nr) (\ | ||
34 | test_and_set_bit(flag_nr, &tsk_rt(t)->budget.flags)) | ||
35 | |||
36 | #define bt_flag_set(t, flag_nr) (\ | ||
37 | set_bit(flag_nr, &tsk_rt(t)->budget.flags)) | ||
38 | |||
39 | #define bt_flag_clear(t, flag_nr) (\ | ||
40 | clear_bit(flag_nr, &tsk_rt(t)->budget.flags)) | ||
41 | |||
42 | #define bt_flags_reset(t) (\ | ||
43 | tsk_rt(t)->budget.flags = 0) | ||
44 | |||
45 | #define requeue_preempted_job(t) \ | ||
46 | (t && (!budget_exhausted(t) || !budget_enforced(t))) | ||
47 | |||
48 | struct enforcement_timer | 7 | struct enforcement_timer |
49 | { | 8 | { |
50 | raw_spinlock_t lock; | 9 | raw_spinlock_t lock; |
@@ -115,6 +74,7 @@ void sobliv_on_sleep(struct task_struct* t); | |||
115 | #define sobliv_on_exit simple_on_exit | 74 | #define sobliv_on_exit simple_on_exit |
116 | void sobliv_on_inherit(struct task_struct* t, struct task_struct* prio_inh); | 75 | 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); | 76 | void sobliv_on_disinherit(struct task_struct* t, struct task_struct* prio_inh); |
77 | void sobliv_revaluate_task(struct task_struct* t); | ||
118 | 78 | ||
119 | 79 | ||
120 | void init_budget_tracker(struct budget_tracker* bt, | 80 | void init_budget_tracker(struct budget_tracker* bt, |