diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2013-01-21 20:00:29 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2013-01-21 20:00:29 -0500 |
commit | 95717fa9f4b9f725928e898c42fb0e711e896311 (patch) | |
tree | 6c552bd879cdafcd90b6bdacdc167338dd3189bf /include | |
parent | 84aa3706d63edda13560ff812740cac0adf744e1 (diff) |
Fixed case where blocked tasks are released.
Fixed bug where AUX tasks were being added to the
ready queue while those AUX tasks were actually blocked.
Bug stems from the fact that the AUX tasks do not
make themselves realtime, but another thread does this
instead. Also fixed minor bugs elsewhere.
NOTE: ONLY FIXES C-EDF. OTHER PLUGINS REMAIN TO BE FIXED.
Diffstat (limited to 'include')
-rw-r--r-- | include/litmus/litmus.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/litmus/litmus.h b/include/litmus/litmus.h index 2da61fa58bdc..17d30326034c 100644 --- a/include/litmus/litmus.h +++ b/include/litmus/litmus.h | |||
@@ -85,6 +85,19 @@ static inline lt_t litmus_clock(void) | |||
85 | return ktime_to_ns(ktime_get()); | 85 | return ktime_to_ns(ktime_get()); |
86 | } | 86 | } |
87 | 87 | ||
88 | static inline int is_persistent(struct task_struct* t) | ||
89 | { | ||
90 | int is_per = ( 0 | ||
91 | #ifdef CONFIG_REALTIME_AUX_TASKS | ||
92 | || t->rt_param.is_aux_task | ||
93 | #endif | ||
94 | #ifdef CONFIG_LITMUS_SOFTIRQD | ||
95 | || t->rt_param.is_interrupt_thread | ||
96 | #endif | ||
97 | ); | ||
98 | return is_per; | ||
99 | } | ||
100 | |||
88 | /* A macro to convert from nanoseconds to ktime_t. */ | 101 | /* A macro to convert from nanoseconds to ktime_t. */ |
89 | #define ns_to_ktime(t) ktime_add_ns(ktime_set(0, 0), t) | 102 | #define ns_to_ktime(t) ktime_add_ns(ktime_set(0, 0), t) |
90 | 103 | ||