aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus/budget.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/litmus/budget.h')
-rw-r--r--include/litmus/budget.h42
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
48struct enforcement_timer 7struct 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
116void sobliv_on_inherit(struct task_struct* t, struct task_struct* prio_inh); 75void 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); 76void sobliv_on_disinherit(struct task_struct* t, struct task_struct* prio_inh);
77void sobliv_revaluate_task(struct task_struct* t);
118 78
119 79
120void init_budget_tracker(struct budget_tracker* bt, 80void init_budget_tracker(struct budget_tracker* bt,