diff options
Diffstat (limited to 'include/litmus/litmus.h')
-rw-r--r-- | include/litmus/litmus.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/include/litmus/litmus.h b/include/litmus/litmus.h index 246483783fc0..3203a0809f96 100644 --- a/include/litmus/litmus.h +++ b/include/litmus/litmus.h | |||
@@ -54,6 +54,12 @@ void litmus_exit_task(struct task_struct *tsk); | |||
54 | #define get_release(t) (tsk_rt(t)->job_params.release) | 54 | #define get_release(t) (tsk_rt(t)->job_params.release) |
55 | #define get_class(t) (tsk_rt(t)->task_params.cls) | 55 | #define get_class(t) (tsk_rt(t)->task_params.cls) |
56 | 56 | ||
57 | #ifdef CONFIG_PLUGIN_EDZL | ||
58 | #define get_zerolaxity(t) (tsk_rt(t)->job_params.zero_laxity) | ||
59 | #define set_zerolaxity(t) (tsk_rt(t)->job_params.zero_laxity=1) | ||
60 | #define clear_zerolaxity(t) (tsk_rt(t)->job_params.zero_laxity=0) | ||
61 | #endif | ||
62 | |||
57 | inline static int budget_exhausted(struct task_struct* t) | 63 | inline static int budget_exhausted(struct task_struct* t) |
58 | { | 64 | { |
59 | return get_exec_time(t) >= get_exec_cost(t); | 65 | return get_exec_time(t) >= get_exec_cost(t); |
@@ -86,6 +92,21 @@ static inline lt_t litmus_clock(void) | |||
86 | return ktime_to_ns(ktime_get()); | 92 | return ktime_to_ns(ktime_get()); |
87 | } | 93 | } |
88 | 94 | ||
95 | #ifdef CONFIG_PLUGIN_EDZL | ||
96 | inline static lt_t laxity_remaining(struct task_struct* t) | ||
97 | { | ||
98 | lt_t now = litmus_clock(); | ||
99 | lt_t remaining = budget_remaining(t); | ||
100 | lt_t deadline = get_deadline(t); | ||
101 | |||
102 | if(lt_before(now + remaining, deadline)) | ||
103 | return (deadline - (now + remaining)); | ||
104 | else | ||
105 | return 0; | ||
106 | } | ||
107 | #endif | ||
108 | |||
109 | |||
89 | /* A macro to convert from nanoseconds to ktime_t. */ | 110 | /* A macro to convert from nanoseconds to ktime_t. */ |
90 | #define ns_to_ktime(t) ktime_add_ns(ktime_set(0, 0), t) | 111 | #define ns_to_ktime(t) ktime_add_ns(ktime_set(0, 0), t) |
91 | 112 | ||