aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/trace.c
diff options
context:
space:
mode:
Diffstat (limited to 'litmus/trace.c')
-rw-r--r--litmus/trace.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/litmus/trace.c b/litmus/trace.c
index 49f8246cda50..1d4593aec71d 100644
--- a/litmus/trace.c
+++ b/litmus/trace.c
@@ -5,6 +5,10 @@
5#include <litmus/litmus.h> 5#include <litmus/litmus.h>
6#include <litmus/trace.h> 6#include <litmus/trace.h>
7 7
8#include <litmus/domain.h>
9#include <litmus/event_group.h>
10#include <litmus/sched_mc.h>
11
8/******************************************************************************/ 12/******************************************************************************/
9/* Allocation */ 13/* Allocation */
10/******************************************************************************/ 14/******************************************************************************/
@@ -81,8 +85,15 @@ feather_callback void save_timestamp_def(unsigned long event,
81feather_callback void save_timestamp_task(unsigned long event, 85feather_callback void save_timestamp_task(unsigned long event,
82 unsigned long t_ptr) 86 unsigned long t_ptr)
83{ 87{
84 int rt = is_realtime((struct task_struct *) t_ptr); 88 struct task_struct *ts = (struct task_struct*) t_ptr;
85 __save_timestamp(event, rt ? TSK_RT : TSK_BE); 89 int rt = is_realtime(ts);
90 uint8_t type = rt ? TSK_RT : TSK_BE;
91
92 if (TS_LVLA_SCHED_END_ID == event) {
93 if (rt && CRIT_LEVEL_A == tsk_mc_crit(ts))
94 type = TSK_LVLA;
95 }
96 __save_timestamp(event, type);
86} 97}
87 98
88feather_callback void save_timestamp_cpu(unsigned long event, 99feather_callback void save_timestamp_cpu(unsigned long event,