aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus/sched_mc.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/litmus/sched_mc.h')
-rw-r--r--include/litmus/sched_mc.h20
1 files changed, 8 insertions, 12 deletions
diff --git a/include/litmus/sched_mc.h b/include/litmus/sched_mc.h
index 1d491ce6a31a..f0526e0d5589 100644
--- a/include/litmus/sched_mc.h
+++ b/include/litmus/sched_mc.h
@@ -16,11 +16,6 @@ struct mc_task {
16 int lvl_a_eligible; 16 int lvl_a_eligible;
17}; 17};
18 18
19struct mc_job {
20 int is_ghost:1;
21 lt_t ghost_budget;
22};
23
24#ifdef __KERNEL__ 19#ifdef __KERNEL__
25/* 20/*
26 * These are used only in the kernel. Userspace programs like RTSpin won't see 21 * These are used only in the kernel. Userspace programs like RTSpin won't see
@@ -28,19 +23,19 @@ struct mc_job {
28 */ 23 */
29struct mc_data { 24struct mc_data {
30 struct mc_task mc_task; 25 struct mc_task mc_task;
31 struct mc_job mc_job;
32}; 26};
33 27
34#define tsk_mc_data(t) (tsk_rt(t)->mc_data) 28#define tsk_mc_data(t) (tsk_rt(t)->mc_data)
35#define tsk_mc_crit(t) (tsk_mc_data(t) ? tsk_mc_data(t)->mc_task.crit : CRIT_LEVEL_C) 29#define tsk_mc_crit(t) (tsk_mc_data(t) ? tsk_mc_data(t)->mc_task.crit : CRIT_LEVEL_C)
36#define is_ghost(t) (tsk_mc_data(t)->mc_job.is_ghost) 30#define is_ghost(t) (get_rt_job(t) < get_user_job(t))
37 31
38#define TS "(%s/%d:%d:%s)" 32#define TS "(%s/%d:%d:%d:%s)"
39#define TA(t) (t) ? tsk_mc_data(t) ? is_ghost(t) ? "ghost" : t->comm \ 33#define TA(t) (t) ? tsk_mc_data(t) ? is_ghost(t) ? "ghost" : t->comm \
40 : t->comm : "NULL", \ 34 : t->comm : "NULL", \
41 (t) ? t->pid : 1, \ 35 (t) ? t->pid : 1, \
42 (t) ? t->rt_param.job_params.job_no : 1, \ 36 (t) ? get_rt_job(t) : 1, \
43 (t && get_task_domain(t)) ? get_task_domain(t)->name : "" 37 (t) ? get_user_job(t) : 1, \
38 (t && get_task_domain(t)) ? get_task_domain(t)->name : ""
44#define STRACE(fmt, args...) \ 39#define STRACE(fmt, args...) \
45 sched_trace_log_message("%d P%d [%s@%s:%d]: " fmt, \ 40 sched_trace_log_message("%d P%d [%s@%s:%d]: " fmt, \
46 TRACE_ARGS, ## args) 41 TRACE_ARGS, ## args)
@@ -128,6 +123,7 @@ lt_t mc_ce_timer_callback_common(domain_t*);
128void mc_ce_release_at_common(struct task_struct*, lt_t); 123void mc_ce_release_at_common(struct task_struct*, lt_t);
129long mc_ce_activate_plugin_common(void); 124long mc_ce_activate_plugin_common(void);
130long mc_ce_deactivate_plugin_common(void); 125long mc_ce_deactivate_plugin_common(void);
126void mc_ce_job_completion(struct domain *dom, struct task_struct *ts);
131 127
132#endif /* __KERNEL__ */ 128#endif /* __KERNEL__ */
133 129