aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern Brandenburg <bbb@mpi-sws.org>2015-08-05 05:06:37 -0400
committerBjoern Brandenburg <bbb@mpi-sws.org>2015-12-16 04:17:57 -0500
commit70966777a4cf45a09e92b5c793dbfe906adf6071 (patch)
treecf384c9cb0c9b0663654b13ef2f6edd55ecaea35
parent23c6afe9b4bb9aed98a00d0bcbf22599dd05c21e (diff)
sched_trace: record exec_time in ST_COMPLETION records
-rw-r--r--include/litmus/sched_trace.h5
-rw-r--r--litmus/sched_task_trace.c1
2 files changed, 3 insertions, 3 deletions
diff --git a/include/litmus/sched_trace.h b/include/litmus/sched_trace.h
index 82bde8241298..b4da7e39fa79 100644
--- a/include/litmus/sched_trace.h
+++ b/include/litmus/sched_trace.h
@@ -52,11 +52,10 @@ struct st_switch_away_data { /* A process was switched away from on a given CPU.
52 52
53struct st_completion_data { /* A job completed. */ 53struct st_completion_data { /* A job completed. */
54 u64 when; 54 u64 when;
55 u8 forced:1; /* Set to 1 if job overran and kernel advanced to the 55 u64 forced:1; /* Set to 1 if job overran and kernel advanced to the
56 * next task automatically; set to 0 otherwise. 56 * next task automatically; set to 0 otherwise.
57 */ 57 */
58 u8 __uflags:7; 58 u64 exec_time:63; /* Actual execution time of job. */
59 u8 __unused[7];
60}; 59};
61 60
62struct st_block_data { /* A task blocks. */ 61struct st_block_data { /* A task blocks. */
diff --git a/litmus/sched_task_trace.c b/litmus/sched_task_trace.c
index c154ec48be41..f623dc7a25eb 100644
--- a/litmus/sched_task_trace.c
+++ b/litmus/sched_task_trace.c
@@ -189,6 +189,7 @@ feather_callback void do_sched_trace_task_completion(unsigned long id,
189 if (rec) { 189 if (rec) {
190 rec->data.completion.when = now(); 190 rec->data.completion.when = now();
191 rec->data.completion.forced = forced; 191 rec->data.completion.forced = forced;
192 rec->data.completion.exec_time = get_exec_time(t);
192 put_record(rec); 193 put_record(rec);
193 } 194 }
194} 195}