diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2012-05-09 17:11:56 -0400 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2012-05-09 17:11:56 -0400 |
commit | 1fde4dd4de048d7fbfe3e1418f4a76c62423ad95 (patch) | |
tree | f77ee7cb43fb069f47a2cdd2281031fbc752fe64 /litmus/jobs.c | |
parent | a80dba56e2bc970b300b32ca3a8f4e911c18bbad (diff) |
Track tasks average execution time, drop in TASK_EXIT record
Diffstat (limited to 'litmus/jobs.c')
-rw-r--r-- | litmus/jobs.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/litmus/jobs.c b/litmus/jobs.c index 36e314625d86..4da53a8c4c43 100644 --- a/litmus/jobs.c +++ b/litmus/jobs.c | |||
@@ -9,12 +9,15 @@ | |||
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 | t->rt_param.job_params.release = t->rt_param.job_params.deadline; | 16 | tsk_rt(t)->job_params.release = tsk_rt(t)->job_params.deadline; |
14 | t->rt_param.job_params.deadline += get_rt_period(t); | 17 | tsk_rt(t)->job_params.deadline += get_rt_period(t); |
15 | t->rt_param.job_params.exec_time = 0; | 18 | tsk_rt(t)->job_params.exec_time = 0; |
16 | /* update job sequence number */ | 19 | /* update job sequence number */ |
17 | t->rt_param.job_params.job_no++; | 20 | tsk_rt(t)->job_params.job_no++; |
18 | 21 | ||
19 | /* don't confuse Linux */ | 22 | /* don't confuse Linux */ |
20 | t->rt.time_slice = 1; | 23 | t->rt.time_slice = 1; |
@@ -22,7 +25,7 @@ void prepare_for_next_period(struct task_struct *t) | |||
22 | 25 | ||
23 | void release_at(struct task_struct *t, lt_t start) | 26 | void release_at(struct task_struct *t, lt_t start) |
24 | { | 27 | { |
25 | t->rt_param.job_params.deadline = start; | 28 | tsk_rt(t)->job_params.deadline = start; |
26 | prepare_for_next_period(t); | 29 | prepare_for_next_period(t); |
27 | set_rt_flags(t, RT_F_RUNNING); | 30 | set_rt_flags(t, RT_F_RUNNING); |
28 | } | 31 | } |