aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2012-10-10 22:13:30 -0400
committerJonathan Herman <hermanjl@cs.unc.edu>2012-10-10 22:13:30 -0400
commitfbbd0ae9f4589d35265a9b85e5b2e4614b432525 (patch)
tree403a66093be20cedb8351b7af065f2e5f883661f /include/litmus
parent0a84a160ea79d9479d17b02b5332413159f52be2 (diff)
Allow for concurrent blocking / user-space job completions.
Diffstat (limited to 'include/litmus')
-rw-r--r--include/litmus/litmus.h5
-rw-r--r--include/litmus/sched_mc.h8
2 files changed, 7 insertions, 6 deletions
diff --git a/include/litmus/litmus.h b/include/litmus/litmus.h
index 93961d08efd5..a78f7f943442 100644
--- a/include/litmus/litmus.h
+++ b/include/litmus/litmus.h
@@ -51,8 +51,9 @@ void litmus_exit_task(struct task_struct *tsk);
51#define get_user_deadline(t) (tsk_rt(t)->user_job.deadline) 51#define get_user_deadline(t) (tsk_rt(t)->user_job.deadline)
52 52
53/* Realtime utility macros */ 53/* Realtime utility macros */
54#define get_rt_flags(t) (tsk_rt(t)->flags) 54#define get_rt_flags(t) (tsk_rt(t)->flags)
55#define set_rt_flags(t,f) (tsk_rt(t)->flags=(f)) 55#define set_rt_flags(t,f) (tsk_rt(t)->flags|=(f))
56#define clear_rt_flags(t,f) (tsk_rt(t)->flags&=(~f))
56#define is_priority_boosted(t) (tsk_rt(t)->priority_boosted) 57#define is_priority_boosted(t) (tsk_rt(t)->priority_boosted)
57#define get_boost_start(t) (tsk_rt(t)->boost_start_time) 58#define get_boost_start(t) (tsk_rt(t)->boost_start_time)
58 59
diff --git a/include/litmus/sched_mc.h b/include/litmus/sched_mc.h
index 5473ee30cb58..327f476aad74 100644
--- a/include/litmus/sched_mc.h
+++ b/include/litmus/sched_mc.h
@@ -28,14 +28,14 @@ struct mc_data {
28#define tsk_mc_data(t) (tsk_rt(t)->mc_data) 28#define tsk_mc_data(t) (tsk_rt(t)->mc_data)
29#define tsk_mc_crit(t) \ 29#define tsk_mc_crit(t) \
30 (tsk_mc_data(t) ? tsk_mc_data(t)->mc_task.crit : CRIT_LEVEL_C) 30 (tsk_mc_data(t) ? tsk_mc_data(t)->mc_task.crit : CRIT_LEVEL_C)
31#define is_ghost(t) \ 31#define is_cblocked(t) (get_rt_flags(t) & RT_F_BLOCKED)
32 ((get_rt_flags(t) & RT_F_BLOCKED) || \ 32#define is_ghost(t) \
33 (get_rt_job(t) < get_user_job(t) && (get_rt_flags(t) & RT_F_SLEEP))) 33 (get_rt_job(t) < get_user_job(t) && (get_rt_flags(t) & RT_F_SLEEP))
34#define ce_sid(ce) \ 34#define ce_sid(ce) \
35 (-((ce)->level * num_online_cpus() + crit_cpu(ce)->cpu + 1)) 35 (-((ce)->level * num_online_cpus() + crit_cpu(ce)->cpu + 1))
36 36
37#define TS "(%s/%d:%d:%d:%s)" 37#define TS "(%s/%d:%d:%d:%s)"
38#define TA(t) (t) ? tsk_mc_data(t) ? is_ghost(t) ? "ghost" : t->comm \ 38#define TA(t) (t) ? tsk_mc_data(t) ? is_ghost(t) ? "ghost" : is_cblocked(t) ? "blocked" : t->comm \
39 : t->comm : "NULL", \ 39 : t->comm : "NULL", \
40 (t) ? t->pid : 1, \ 40 (t) ? t->pid : 1, \
41 (t) ? get_rt_job(t) : 1, \ 41 (t) ? get_rt_job(t) : 1, \