aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus/sched_trace.h
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2013-03-30 11:21:59 -0400
committerJonathan Herman <hermanjl@cs.unc.edu>2013-03-30 11:21:59 -0400
commitb2ecb9f8d20baa3edfb305d263a7f0902ac019f3 (patch)
tree77af90862b09542fa6fbcae7117b41b19086e552 /include/litmus/sched_trace.h
parentc31763ecf41cbcdb61e8960f0354d8b2e39a8645 (diff)
Removed ARM-specific hacks which disabled less common mixed-criticality features.wip-mc
Diffstat (limited to 'include/litmus/sched_trace.h')
-rw-r--r--include/litmus/sched_trace.h51
1 files changed, 3 insertions, 48 deletions
diff --git a/include/litmus/sched_trace.h b/include/litmus/sched_trace.h
index 0580340d0170..40187826ef19 100644
--- a/include/litmus/sched_trace.h
+++ b/include/litmus/sched_trace.h
@@ -51,18 +51,9 @@ struct st_switch_away_data { /* A process was switched away from on a given CPU.
51 u64 exec_time; 51 u64 exec_time;
52}; 52};
53 53
54/* changed: like everything */
55struct st_completion_data { /* A job completed. */ 54struct st_completion_data { /* A job completed. */
56 u32 exec; 55 u64 when;
57 u16 flush_work; 56 u64 load;
58 u16 load_work;
59 u32 flush;
60 u32 load;
61 /* u8 forced:1; /\* Set to 1 if job overran and kernel advanced to the */
62 /* * next task automatically; set to 0 otherwise. */
63 /* *\/ */
64 /* u8 __uflags:7; */
65 /* u8 __unused[7]; */
66}; 57};
67 58
68struct st_block_data { /* A task blocks. */ 59struct st_block_data { /* A task blocks. */
@@ -86,19 +77,6 @@ struct st_sys_release_data {
86 u64 release; 77 u64 release;
87}; 78};
88 79
89/* changed: easy enough to remove */
90struct st_task_exit_data {
91 u64 avg_exec_time;
92 u64 max_exec_time;
93};
94
95/* changed: calculate yoself */
96struct st_task_tardy_data {
97 u64 total_tardy;
98 u32 max_tardy;
99 u32 missed;
100};
101
102#define DATA(x) struct st_ ## x ## _data x; 80#define DATA(x) struct st_ ## x ## _data x;
103 81
104typedef enum { 82typedef enum {
@@ -113,9 +91,7 @@ typedef enum {
113 ST_BLOCK, 91 ST_BLOCK,
114 ST_RESUME, 92 ST_RESUME,
115 ST_ACTION, 93 ST_ACTION,
116 ST_SYS_RELEASE, 94 ST_SYS_RELEASE
117 ST_TASK_EXIT,
118 ST_TASK_TARDY,
119} st_event_record_type_t; 95} st_event_record_type_t;
120 96
121struct st_event_record { 97struct st_event_record {
@@ -134,8 +110,6 @@ struct st_event_record {
134 DATA(resume); 110 DATA(resume);
135 DATA(action); 111 DATA(action);
136 DATA(sys_release); 112 DATA(sys_release);
137 DATA(task_exit);
138 DATA(task_tardy);
139 } data; 113 } data;
140}; 114};
141 115
@@ -177,11 +151,6 @@ feather_callback void do_sched_trace_action(unsigned long id,
177 unsigned long action); 151 unsigned long action);
178feather_callback void do_sched_trace_sys_release(unsigned long id, 152feather_callback void do_sched_trace_sys_release(unsigned long id,
179 lt_t* start); 153 lt_t* start);
180feather_callback void do_sched_trace_task_exit(unsigned long id,
181 struct task_struct* task);
182feather_callback void do_sched_trace_task_tardy(unsigned long id,
183 struct task_struct* task);
184
185#endif 154#endif
186 155
187#else 156#else
@@ -306,20 +275,6 @@ feather_callback void do_sched_trace_task_tardy(unsigned long id,
306 trace_litmus_sys_release(when); \ 275 trace_litmus_sys_release(when); \
307 } while (0) 276 } while (0)
308 277
309#define sched_trace_task_exit(t) \
310 do { \
311 SCHED_TRACE(SCHED_TRACE_BASE_ID + 11, \
312 do_sched_trace_task_exit, t); \
313 trace_litmus_task_exit(t); \
314 } while (0)
315
316
317#define sched_trace_task_tardy(t) \
318 do { \
319 SCHED_TRACE(SCHED_TRACE_BASE_ID + 12, \
320 do_sched_trace_task_tardy, t); \
321 } while (0)
322
323#define QT_START lt_t _qt_start = litmus_clock() 278#define QT_START lt_t _qt_start = litmus_clock()
324#define QT_END \ 279#define QT_END \
325 sched_trace_log_message("%d P%d [%s@%s:%d]: Took %llu\n\n", \ 280 sched_trace_log_message("%d P%d [%s@%s:%d]: Took %llu\n\n", \