diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2012-09-29 13:04:40 -0400 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2012-09-29 13:04:40 -0400 |
commit | daf1e620bff2cb6d830ef66725369bba9c858f62 (patch) | |
tree | 1aed8f7cb55371c70d2139b6754d90ea89a26147 /litmus/jobs.c | |
parent | 451ed3b075c2a8e322e5a44f177e2470426a821d (diff) | |
parent | 1cb90226816c7af7808be4c0de866c54da17ecc9 (diff) |
Merge branch 'wip-color' into wip-mc
Conflicts:
include/litmus/budget.h
include/litmus/litmus.h
include/litmus/rt_param.h
include/litmus/sched_trace.h
include/litmus/trace.h
include/trace/events/litmus.h
litmus/Makefile
litmus/budget.c
litmus/ftdev.c
litmus/jobs.c
litmus/litmus.c
litmus/locking.c
litmus/preempt.c
litmus/rt_domain.c
litmus/sched_gsn_edf.c
litmus/trace.c
Diffstat (limited to 'litmus/jobs.c')
-rw-r--r-- | litmus/jobs.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/litmus/jobs.c b/litmus/jobs.c index 10a42db1165..7263cabf8c6 100644 --- a/litmus/jobs.c +++ b/litmus/jobs.c | |||
@@ -9,15 +9,21 @@ | |||
9 | void prepare_for_next_period(struct task_struct *t) | 9 | void prepare_for_next_period(struct task_struct *t) |
10 | { | 10 | { |
11 | BUG_ON(!t); | 11 | BUG_ON(!t); |
12 | #ifdef CONFIG_PLUGIN_COLOR | ||
13 | tsk_rt(t)->tot_exec_time += tsk_rt(t)->job_params.exec_time; | ||
14 | #endif | ||
12 | /* prepare next release */ | 15 | /* prepare next release */ |
13 | |||
14 | t->rt_param.job_params.release = t->rt_param.job_params.deadline; | 16 | t->rt_param.job_params.release = t->rt_param.job_params.deadline; |
15 | t->rt_param.job_params.real_release = t->rt_param.job_params.release; | 17 | t->rt_param.job_params.real_release = t->rt_param.job_params.release; |
16 | t->rt_param.job_params.deadline += get_rt_period(t); | 18 | t->rt_param.job_params.deadline += get_rt_period(t); |
17 | t->rt_param.job_params.real_deadline = t->rt_param.job_params.deadline; | 19 | t->rt_param.job_params.real_deadline = t->rt_param.job_params.deadline; |
18 | t->rt_param.job_params.exec_time = 0; | 20 | t->rt_param.job_params.exec_time = 0; |
21 | tsk_rt(t)->job_params.release = tsk_rt(t)->job_params.deadline; | ||
22 | tsk_rt(t)->job_params.deadline += get_rt_period(t); | ||
23 | tsk_rt(t)->job_params.exec_time = 0; | ||
24 | |||
19 | /* update job sequence number */ | 25 | /* update job sequence number */ |
20 | t->rt_param.job_params.job_no++; | 26 | tsk_rt(t)->job_params.job_no++; |
21 | 27 | ||
22 | /* don't confuse Linux */ | 28 | /* don't confuse Linux */ |
23 | t->rt.time_slice = 1; | 29 | t->rt.time_slice = 1; |
@@ -25,7 +31,7 @@ void prepare_for_next_period(struct task_struct *t) | |||
25 | 31 | ||
26 | void release_at(struct task_struct *t, lt_t start) | 32 | void release_at(struct task_struct *t, lt_t start) |
27 | { | 33 | { |
28 | t->rt_param.job_params.deadline = start; | 34 | tsk_rt(t)->job_params.deadline = start; |
29 | prepare_for_next_period(t); | 35 | prepare_for_next_period(t); |
30 | set_rt_flags(t, RT_F_RUNNING); | 36 | set_rt_flags(t, RT_F_RUNNING); |
31 | } | 37 | } |