From 95717fa9f4b9f725928e898c42fb0e711e896311 Mon Sep 17 00:00:00 2001 From: Glenn Elliott Date: Mon, 21 Jan 2013 20:00:29 -0500 Subject: 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. --- include/litmus/litmus.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'include/litmus') 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) return ktime_to_ns(ktime_get()); } +static inline int is_persistent(struct task_struct* t) +{ + int is_per = ( 0 + #ifdef CONFIG_REALTIME_AUX_TASKS + || t->rt_param.is_aux_task + #endif + #ifdef CONFIG_LITMUS_SOFTIRQD + || t->rt_param.is_interrupt_thread + #endif + ); + return is_per; +} + /* A macro to convert from nanoseconds to ktime_t. */ #define ns_to_ktime(t) ktime_add_ns(ktime_set(0, 0), t) -- cgit v1.2.2