aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2013-01-21 20:00:29 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2013-01-21 20:00:29 -0500
commit95717fa9f4b9f725928e898c42fb0e711e896311 (patch)
tree6c552bd879cdafcd90b6bdacdc167338dd3189bf /include/litmus
parent84aa3706d63edda13560ff812740cac0adf744e1 (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/litmus')
-rw-r--r--include/litmus/litmus.h13
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
88static 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